Module soundX:let Builds on soundX:host tm ::= ... | let(string, tm, tm) typeOf Ctx T1 Ty ----------------------------------------------------- [Proj-Let] Ctx |{tm}- let(X, T1, T2) ~~> app(abs(X, Ty, T2), T1) typeOf Ctx T1 Ty1 typeOf (X, Ty1)::Ctx T2 Ty2 ----------------------------- [T-Let] typeOf Ctx let(X, T1, T2) Ty2
Click on a command or tactic to see a detailed view of its use.
Module soundX:let. Prove_Constraint soundX:host:proj_ty_is. Prove soundX:host:type_is. [Show Proof] Prove_Constraint soundX:host:proj_is. [Show Proof] Prove soundX:host:type_unique. [Show Proof] Prove soundX:host:ty_lookup. [Show Proof] Prove_Constraint soundX:host:proj_ty_unique. Prove_Constraint soundX:host:proj_tm_unique. [Show Proof] Prove soundX:host:desugar_ty_exists. Prove soundX:host:desugar_ty_rel. [Show Proof]