equal
deleted
inserted
replaced
87 * simplifier.ML no longer part of Pure -- has to be loaded by object |
87 * simplifier.ML no longer part of Pure -- has to be loaded by object |
88 logics (again); |
88 logics (again); |
89 |
89 |
90 * added prems argument to simplification procedures; |
90 * added prems argument to simplification procedures; |
91 |
91 |
|
92 * HOL, FOL, ZF: added infix function `addsplits': |
|
93 instead of `<simpset> setloop (split_tac <thms>)' |
|
94 you can simply write `<simpset> addsplits <thms>' |
|
95 |
92 |
96 |
93 *** Syntax *** |
97 *** Syntax *** |
94 |
98 |
95 * TYPE('a) syntax for type reflection terms; |
99 * TYPE('a) syntax for type reflection terms; |
96 |
100 |
111 * HOL/Auth: new protocol proofs including some for the Internet |
115 * HOL/Auth: new protocol proofs including some for the Internet |
112 protocol TLS; |
116 protocol TLS; |
113 |
117 |
114 * HOL/Map: new theory of `maps' a la VDM; |
118 * HOL/Map: new theory of `maps' a la VDM; |
115 |
119 |
116 * HOL/simplifier: added infix function `addsplits': |
|
117 instead of `<simpset> setloop (split_tac <thms>)' |
|
118 you can simply write `<simpset> addsplits <thms>' |
|
119 |
|
120 * HOL/simplifier: terms of the form |
120 * HOL/simplifier: terms of the form |
121 `? x. P1(x) & ... & Pn(x) & x=t & Q1(x) & ... Qn(x)' (or t=x) |
121 `? x. P1(x) & ... & Pn(x) & x=t & Q1(x) & ... Qn(x)' (or t=x) |
122 are rewritten to |
122 are rewritten to |
123 `P1(t) & ... & Pn(t) & Q1(t) & ... Qn(t)', |
123 `P1(t) & ... & Pn(t) & Q1(t) & ... Qn(t)', |
124 and those of the form |
124 and those of the form |
125 `! x. P1(x) & ... & Pn(x) & x=t & Q1(x) & ... Qn(x) --> R(x)' (or t=x) |
125 `! x. P1(x) & ... & Pn(x) & x=t & Q1(x) & ... Qn(x) --> R(x)' (or t=x) |
126 are rewritten to |
126 are rewritten to |
127 `P1(t) & ... & Pn(t) & Q1(t) & ... Qn(t) --> R(t)', |
127 `P1(t) & ... & Pn(t) & Q1(t) & ... Qn(t) --> R(t)', |
128 |
128 |
129 * HOL/datatype |
129 * HOL/datatype |
130 Each datatype `t' now comes with a theorem `split_t_case' of the form |
130 Each datatype `t' now comes with a theorem `split_t_case' of the form |