equal
deleted
inserted
replaced
1 (* Title: HOL/ex/pl.thy |
1 (* Title: HOL/ex/PropLog.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Tobias Nipkow |
3 Author: Tobias Nipkow |
4 Copyright 1994 TU Muenchen |
4 Copyright 1994 TU Muenchen |
5 |
5 |
6 Inductive definition of propositional logic. |
6 Inductive definition of propositional logic. |
26 K "H |- p->q->p" |
26 K "H |- p->q->p" |
27 S "H |- (p->q->r) -> (p->q) -> p->r" |
27 S "H |- (p->q->r) -> (p->q) -> p->r" |
28 DN "H |- ((p->false) -> false) -> p" |
28 DN "H |- ((p->false) -> false) -> p" |
29 MP "[| H |- p->q; H |- p |] ==> H |- q" |
29 MP "[| H |- p->q; H |- p |] ==> H |- q" |
30 |
30 |
31 rules |
31 defs |
32 |
32 sat_def "H |= p == (!tt. (!q:H. tt[q]) --> tt[p])" |
33 (** Proof theory for propositional logic |
|
34 |
|
35 axK_def "axK == {x . ? p q. x = p->q->p}" |
|
36 axS_def "axS == {x . ? p q r. x = (p->q->r) -> (p->q) -> p->r}" |
|
37 axDN_def "axDN == {x . ? p. x = ((p->false) -> false) -> p}" |
|
38 |
|
39 (*the use of subsets simplifies the proof of monotonicity*) |
|
40 ruleMP_def "ruleMP(X) == {q. ? p:X. p->q : X}" |
|
41 |
|
42 thms_def |
|
43 "thms(H) == lfp(%X. H Un axK Un axS Un axDN Un ruleMP(X))" |
|
44 |
|
45 conseq_def "H |- p == p : thms(H)" |
|
46 **) |
|
47 sat_def "H |= p == (!tt. (!q:H. tt[q]) --> tt[p])" |
|
48 |
|
49 eval_def "tt[p] == eval2(p,tt)" |
33 eval_def "tt[p] == eval2(p,tt)" |
50 |
34 |
51 primrec eval2 pl |
35 primrec eval2 pl |
52 eval2_false "eval2(false) = (%x.False)" |
36 eval2_false "eval2(false) = (%x.False)" |
53 eval2_var "eval2(#v) = (%tt.v:tt)" |
37 eval2_var "eval2(#v) = (%tt.v:tt)" |