package lambdapi
Proof assistant for the λΠ-calculus modulo rewriting
Install
Dune Dependency
Authors
Maintainers
Sources
lambdapi-2.6.0.tbz
sha256=d01e5f13db2eaba6e4fe330667149e0059d4886c651ff9d6b672db2dfc9765ed
sha512=33b68c972aca37985ed73c527076198e7d4961c7e27c89cdabfe4d1cff97cd41ccfb85ae9499eb98ad9a0aefd920bc55555df6393fc441ac2429e4d99cddafa8
doc/src/lambdapi.core/coercion.ml.html
Source file coercion.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
open Common open Term let coerce : sym = let id = Pos.none "coerce" in Sign.add_symbol Ghost.sign Public Defin Eager false id None mk_Kind [] let apply a b t : term = add_args (mk_Symb coerce) [a; b; t] let _ = (* Add the rule [coerce $A $A $t ↪ $t] (but we don't have access to the parser here) *) let rule = let lhs = [ mk_Patt (Some 0, "A", [||]) ; mk_Patt (Some 0, "A", [||]) ; mk_Patt (Some 1, "t", [||]) ] in let vars = [|new_tevar "A"; new_tevar "t"|] in let rhs = _TEnv (_TE_Vari vars.(1)) [||] in let rhs = Bindlib.(bind_mvar vars rhs |> unbox) in let arity = 3 in let arities = [|0; 0|] in { lhs; rhs; arity; arities; vars; xvars_nb = 0; rule_pos = None } in Sign.add_rule Ghost.sign coerce rule
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>