equal
deleted
inserted
replaced
1 (* Title: ZF/ex/PropLog.thy |
1 (* Title: ZF/ex/PropLog.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Tobias Nipkow & Lawrence C Paulson |
3 Author: Tobias Nipkow & Lawrence C Paulson |
4 Copyright 1993 University of Cambridge |
4 Copyright 1993 University of Cambridge |
5 |
5 |
6 Datatype definition of propositional logic formulae and inductive definition |
6 Datatype definition of propositional logic formulae and inductive definition |
7 of the propositional tautologies. |
7 of the propositional tautologies. |
8 *) |
8 *) |
13 consts |
13 consts |
14 prop :: i |
14 prop :: i |
15 |
15 |
16 datatype |
16 datatype |
17 "prop" = Fls |
17 "prop" = Fls |
18 | Var ("n: nat") ("#_" [100] 100) |
18 | Var ("n: nat") ("#_" [100] 100) |
19 | "=>" ("p: prop", "q: prop") (infixr 90) |
19 | "=>" ("p: prop", "q: prop") (infixr 90) |
20 |
20 |
21 (** The proof system **) |
21 (** The proof system **) |
22 consts |
22 consts |
23 thms :: i => i |
23 thms :: i => i |
24 "|-" :: [i,i] => o (infixl 50) |
24 "|-" :: [i,i] => o (infixl 50) |
25 |
25 |
26 translations |
26 translations |
27 "H |- p" == "p : thms(H)" |
27 "H |- p" == "p : thms(H)" |
28 |
28 |
29 inductive |
29 inductive |
39 |
39 |
40 (** The semantics **) |
40 (** The semantics **) |
41 consts |
41 consts |
42 prop_rec :: [i, i, i=>i, [i,i,i,i]=>i] => i |
42 prop_rec :: [i, i, i=>i, [i,i,i,i]=>i] => i |
43 is_true :: [i,i] => o |
43 is_true :: [i,i] => o |
44 "|=" :: [i,i] => o (infixl 50) |
44 "|=" :: [i,i] => o (infixl 50) |
45 hyps :: [i,i] => i |
45 hyps :: [i,i] => i |
46 |
46 |
47 defs |
47 defs |
48 |
48 |
49 prop_rec_def |
49 prop_rec_def |