64 ("", paramT --> paramT, Delimfix "'(_')"), |
64 ("", paramT --> paramT, Delimfix "'(_')"), |
65 ("", idtT --> paramsT, Delimfix "_"), |
65 ("", idtT --> paramsT, Delimfix "_"), |
66 ("", paramT --> paramsT, Delimfix "_")] |
66 ("", paramT --> paramsT, Delimfix "_")] |
67 |> Sign.add_modesyntax_i (Symbol.xsymbolsN, true) |
67 |> Sign.add_modesyntax_i (Symbol.xsymbolsN, true) |
68 [("_Lam", [paramsT, proofT] ---> proofT, Mixfix ("(1\\<Lambda>_./ _)", [0, 3], 3)), |
68 [("_Lam", [paramsT, proofT] ---> proofT, Mixfix ("(1\\<Lambda>_./ _)", [0, 3], 3)), |
69 (Syntax.mark_const "Appt", [proofT, aT] ---> proofT, Mixfix ("(1_ \\<cdot>/ _)", [4, 5], 4)), |
69 (Lexicon.mark_const "Appt", [proofT, aT] ---> proofT, Mixfix ("(1_ \\<cdot>/ _)", [4, 5], 4)), |
70 (Syntax.mark_const "AppP", [proofT, proofT] ---> proofT, Mixfix ("(1_ \\<bullet>/ _)", [4, 5], 4))] |
70 (Lexicon.mark_const "AppP", [proofT, proofT] ---> proofT, Mixfix ("(1_ \\<bullet>/ _)", [4, 5], 4))] |
71 |> Sign.add_modesyntax_i ("latex", false) |
71 |> Sign.add_modesyntax_i ("latex", false) |
72 [("_Lam", [paramsT, proofT] ---> proofT, Mixfix ("(1\\<^bold>\\<lambda>_./ _)", [0, 3], 3))] |
72 [("_Lam", [paramsT, proofT] ---> proofT, Mixfix ("(1\\<^bold>\\<lambda>_./ _)", [0, 3], 3))] |
73 |> Sign.add_trrules (map Syntax.Parse_Print_Rule |
73 |> Sign.add_trrules (map Syntax.Parse_Print_Rule |
74 [(Ast.mk_appl (Ast.Constant "_Lam") |
74 [(Ast.mk_appl (Ast.Constant "_Lam") |
75 [Ast.mk_appl (Ast.Constant "_Lam0") |
75 [Ast.mk_appl (Ast.Constant "_Lam0") |
78 [Ast.Variable "l", |
78 [Ast.Variable "l", |
79 Ast.mk_appl (Ast.Constant "_Lam") [Ast.Variable "m", Ast.Variable "A"]]), |
79 Ast.mk_appl (Ast.Constant "_Lam") [Ast.Variable "m", Ast.Variable "A"]]), |
80 (Ast.mk_appl (Ast.Constant "_Lam") |
80 (Ast.mk_appl (Ast.Constant "_Lam") |
81 [Ast.mk_appl (Ast.Constant "_Lam1") |
81 [Ast.mk_appl (Ast.Constant "_Lam1") |
82 [Ast.Variable "x", Ast.Variable "A"], Ast.Variable "B"], |
82 [Ast.Variable "x", Ast.Variable "A"], Ast.Variable "B"], |
83 Ast.mk_appl (Ast.Constant (Syntax.mark_const "AbsP")) [Ast.Variable "A", |
83 Ast.mk_appl (Ast.Constant (Lexicon.mark_const "AbsP")) [Ast.Variable "A", |
84 (Ast.mk_appl (Ast.Constant "_abs") [Ast.Variable "x", Ast.Variable "B"])]), |
84 (Ast.mk_appl (Ast.Constant "_abs") [Ast.Variable "x", Ast.Variable "B"])]), |
85 (Ast.mk_appl (Ast.Constant "_Lam") [Ast.Variable "x", Ast.Variable "A"], |
85 (Ast.mk_appl (Ast.Constant "_Lam") [Ast.Variable "x", Ast.Variable "A"], |
86 Ast.mk_appl (Ast.Constant (Syntax.mark_const "Abst")) |
86 Ast.mk_appl (Ast.Constant (Lexicon.mark_const "Abst")) |
87 [(Ast.mk_appl (Ast.Constant "_abs") [Ast.Variable "x", Ast.Variable "A"])])]); |
87 [(Ast.mk_appl (Ast.Constant "_abs") [Ast.Variable "x", Ast.Variable "A"])])]); |
88 |
88 |
89 |
89 |
90 (**** translation between proof terms and pure terms ****) |
90 (**** translation between proof terms and pure terms ****) |
91 |
91 |