equal
deleted
inserted
replaced
127 structure Simplifier : SIMPLIFIER |
127 structure Simplifier : SIMPLIFIER |
128 val dest_Trueprop : term -> term |
128 val dest_Trueprop : term -> term |
129 val dest_eq : term -> term*term*typ |
129 val dest_eq : term -> term*term*typ |
130 val dest_imp : term -> term*term |
130 val dest_imp : term -> term*term |
131 val eq_reflection : thm (* a=b ==> a==b *) |
131 val eq_reflection : thm (* a=b ==> a==b *) |
|
132 val rev_eq_reflection: thm (* a==b ==> a=b *) |
132 val imp_intr : thm (*(P ==> Q) ==> P-->Q *) |
133 val imp_intr : thm (*(P ==> Q) ==> P-->Q *) |
133 val rev_mp : thm (* [| P; P-->Q |] ==> Q *) |
134 val rev_mp : thm (* [| P; P-->Q |] ==> Q *) |
134 val subst : thm (* [| a=b; P(a) |] ==> P(b) *) |
135 val subst : thm (* [| a=b; P(a) |] ==> P(b) *) |
135 val sym : thm (* a=b ==> b=a *) |
136 val sym : thm (* a=b ==> b=a *) |
136 val thin_refl : thm (* [|x=x; P|] ==> P *) |
137 val thin_refl : thm (* [|x=x; P|] ==> P *) |
152 \item[\ttindexbold{dest_imp}] should return the pair~$(P,Q)$ when applied to |
153 \item[\ttindexbold{dest_imp}] should return the pair~$(P,Q)$ when applied to |
153 the \ML{} term that represents the implication $P\imp Q$. For other terms, |
154 the \ML{} term that represents the implication $P\imp Q$. For other terms, |
154 it should raise an exception. |
155 it should raise an exception. |
155 |
156 |
156 \item[\tdxbold{eq_reflection}] is the theorem discussed |
157 \item[\tdxbold{eq_reflection}] is the theorem discussed |
157 in~\S\ref{sec:setting-up-simp}. |
158 in~\S\ref{sec:setting-up-simp}. |
|
159 |
|
160 \item[\tdxbold{rev_eq_reflection}] is the reverse of \texttt{eq_reflection}. |
158 |
161 |
159 \item[\tdxbold{imp_intr}] should be the implies introduction |
162 \item[\tdxbold{imp_intr}] should be the implies introduction |
160 rule $(\Var{P}\Imp\Var{Q})\Imp \Var{P}\imp\Var{Q}$. |
163 rule $(\Var{P}\Imp\Var{Q})\Imp \Var{P}\imp\Var{Q}$. |
161 |
164 |
162 \item[\tdxbold{rev_mp}] should be the `reversed' implies elimination |
165 \item[\tdxbold{rev_mp}] should be the `reversed' implies elimination |