diff -r 3c29bba24aa4 -r ed81cd283816 src/HOL/Extraction.thy --- a/src/HOL/Extraction.thy Wed Aug 27 10:11:30 2003 +0200 +++ b/src/HOL/Extraction.thy Wed Aug 27 18:13:39 2003 +0200 @@ -221,213 +221,213 @@ realizers impI (P, Q): "\pq. pq" - "\P Q pq (h: _). allI \ _ \ (\x. impI \ _ \ _ \ (h \ x))" + "\ P Q pq (h: _). allI \ _ \ (\ x. impI \ _ \ _ \ (h \ x))" impI (P): "Null" - "\P Q (h: _). allI \ _ \ (\x. impI \ _ \ _ \ (h \ x))" + "\ P Q (h: _). allI \ _ \ (\ x. impI \ _ \ _ \ (h \ x))" - impI (Q): "\q. q" "\P Q q. impI \ _ \ _" + impI (Q): "\q. q" "\ P Q q. impI \ _ \ _" impI: "Null" "impI" mp (P, Q): "\pq. pq" - "\P Q pq (h: _) p. mp \ _ \ _ \ (spec \ _ \ p \ h)" + "\ P Q pq (h: _) p. mp \ _ \ _ \ (spec \ _ \ p \ h)" mp (P): "Null" - "\P Q (h: _) p. mp \ _ \ _ \ (spec \ _ \ p \ h)" + "\ P Q (h: _) p. mp \ _ \ _ \ (spec \ _ \ p \ h)" - mp (Q): "\q. q" "\P Q q. mp \ _ \ _" + mp (Q): "\q. q" "\ P Q q. mp \ _ \ _" mp: "Null" "mp" - allI (P): "\p. p" "\P p. allI \ _" + allI (P): "\p. p" "\ P p. allI \ _" allI: "Null" "allI" - spec (P): "\x p. p x" "\P x p. spec \ _ \ x" + spec (P): "\x p. p x" "\ P x p. spec \ _ \ x" spec: "Null" "spec" - exI (P): "\x p. (x, p)" "\P x p. exI_realizer \ P \ p \ x" + exI (P): "\x p. (x, p)" "\ P x p. exI_realizer \ P \ p \ x" - exI: "\x. x" "\P x (h: _). h" + exI: "\x. x" "\ P x (h: _). h" exE (P, Q): "\p pq. case p of (x, y) \ pq x y" - "\P Q p (h: _) pq. exE_realizer \ P \ p \ Q \ pq \ h" + "\ P Q p (h: _) pq. exE_realizer \ P \ p \ Q \ pq \ h" exE (P): "Null" - "\P Q p. exE_realizer' \ _ \ _ \ _" + "\ P Q p. exE_realizer' \ _ \ _ \ _" exE (Q): "\x pq. pq x" - "\P Q x (h1: _) pq (h2: _). h2 \ x \ h1" + "\ P Q x (h1: _) pq (h2: _). h2 \ x \ h1" exE: "Null" - "\P Q x (h1: _) (h2: _). h2 \ x \ h1" + "\ P Q x (h1: _) (h2: _). h2 \ x \ h1" conjI (P, Q): "Pair" - "\P Q p (h: _) q. conjI_realizer \ P \ p \ Q \ q \ h" + "\ P Q p (h: _) q. conjI_realizer \ P \ p \ Q \ q \ h" conjI (P): "\p. p" - "\P Q p. conjI \ _ \ _" + "\ P Q p. conjI \ _ \ _" conjI (Q): "\q. q" - "\P Q (h: _) q. conjI \ _ \ _ \ h" + "\ P Q (h: _) q. conjI \ _ \ _ \ h" conjI: "Null" "conjI" conjunct1 (P, Q): "fst" - "\P Q pq. conjunct1 \ _ \ _" + "\ P Q pq. conjunct1 \ _ \ _" conjunct1 (P): "\p. p" - "\P Q p. conjunct1 \ _ \ _" + "\ P Q p. conjunct1 \ _ \ _" conjunct1 (Q): "Null" - "\P Q q. conjunct1 \ _ \ _" + "\ P Q q. conjunct1 \ _ \ _" conjunct1: "Null" "conjunct1" conjunct2 (P, Q): "snd" - "\P Q pq. conjunct2 \ _ \ _" + "\ P Q pq. conjunct2 \ _ \ _" conjunct2 (P): "Null" - "\P Q p. conjunct2 \ _ \ _" + "\ P Q p. conjunct2 \ _ \ _" conjunct2 (Q): "\p. p" - "\P Q p. conjunct2 \ _ \ _" + "\ P Q p. conjunct2 \ _ \ _" conjunct2: "Null" "conjunct2" disjI1 (P, Q): "Inl" - "\P Q p. iffD2 \ _ \ _ \ (sum.cases_1 \ P \ _ \ p)" + "\ P Q p. iffD2 \ _ \ _ \ (sum.cases_1 \ P \ _ \ p)" disjI1 (P): "Some" - "\P Q p. iffD2 \ _ \ _ \ (option.cases_2 \ _ \ P \ p)" + "\ P Q p. iffD2 \ _ \ _ \ (option.cases_2 \ _ \ P \ p)" disjI1 (Q): "None" - "\P Q. iffD2 \ _ \ _ \ (option.cases_1 \ _ \ _)" + "\ P Q. iffD2 \ _ \ _ \ (option.cases_1 \ _ \ _)" disjI1: "Left" - "\P Q. iffD2 \ _ \ _ \ (sumbool.cases_1 \ _ \ _)" + "\ P Q. iffD2 \ _ \ _ \ (sumbool.cases_1 \ _ \ _)" disjI2 (P, Q): "Inr" - "\Q P q. iffD2 \ _ \ _ \ (sum.cases_2 \ _ \ Q \ q)" + "\ Q P q. iffD2 \ _ \ _ \ (sum.cases_2 \ _ \ Q \ q)" disjI2 (P): "None" - "\Q P. iffD2 \ _ \ _ \ (option.cases_1 \ _ \ _)" + "\ Q P. iffD2 \ _ \ _ \ (option.cases_1 \ _ \ _)" disjI2 (Q): "Some" - "\Q P q. iffD2 \ _ \ _ \ (option.cases_2 \ _ \ Q \ q)" + "\ Q P q. iffD2 \ _ \ _ \ (option.cases_2 \ _ \ Q \ q)" disjI2: "Right" - "\Q P. iffD2 \ _ \ _ \ (sumbool.cases_2 \ _ \ _)" + "\ Q P. iffD2 \ _ \ _ \ (sumbool.cases_2 \ _ \ _)" disjE (P, Q, R): "\pq pr qr. (case pq of Inl p \ pr p | Inr q \ qr q)" - "\P Q R pq (h1: _) pr (h2: _) qr. + "\ P Q R pq (h1: _) pr (h2: _) qr. disjE_realizer \ _ \ _ \ pq \ R \ pr \ qr \ h1 \ h2" disjE (Q, R): "\pq pr qr. (case pq of None \ pr | Some q \ qr q)" - "\P Q R pq (h1: _) pr (h2: _) qr. + "\ P Q R pq (h1: _) pr (h2: _) qr. disjE_realizer2 \ _ \ _ \ pq \ R \ pr \ qr \ h1 \ h2" disjE (P, R): "\pq pr qr. (case pq of None \ qr | Some p \ pr p)" - "\P Q R pq (h1: _) pr (h2: _) qr (h3: _). + "\ P Q R pq (h1: _) pr (h2: _) qr (h3: _). disjE_realizer2 \ _ \ _ \ pq \ R \ qr \ pr \ h1 \ h3 \ h2" disjE (R): "\pq pr qr. (case pq of Left \ pr | Right \ qr)" - "\P Q R pq (h1: _) pr (h2: _) qr. + "\ P Q R pq (h1: _) pr (h2: _) qr. disjE_realizer3 \ _ \ _ \ pq \ R \ pr \ qr \ h1 \ h2" disjE (P, Q): "Null" - "\P Q R pq. disjE_realizer \ _ \ _ \ pq \ (\x. R) \ _ \ _" + "\ P Q R pq. disjE_realizer \ _ \ _ \ pq \ (\x. R) \ _ \ _" disjE (Q): "Null" - "\P Q R pq. disjE_realizer2 \ _ \ _ \ pq \ (\x. R) \ _ \ _" + "\ P Q R pq. disjE_realizer2 \ _ \ _ \ pq \ (\x. R) \ _ \ _" disjE (P): "Null" - "\P Q R pq (h1: _) (h2: _) (h3: _). + "\ P Q R pq (h1: _) (h2: _) (h3: _). disjE_realizer2 \ _ \ _ \ pq \ (\x. R) \ _ \ _ \ h1 \ h3 \ h2" disjE: "Null" - "\P Q R pq. disjE_realizer3 \ _ \ _ \ pq \ (\x. R) \ _ \ _" + "\ P Q R pq. disjE_realizer3 \ _ \ _ \ pq \ (\x. R) \ _ \ _" FalseE (P): "arbitrary" - "\P. FalseE \ _" + "\ P. FalseE \ _" FalseE: "Null" "FalseE" notI (P): "Null" - "\P (h: _). allI \ _ \ (\x. notI \ _ \ (h \ x))" + "\ P (h: _). allI \ _ \ (\ x. notI \ _ \ (h \ x))" notI: "Null" "notI" notE (P, R): "\p. arbitrary" - "\P R (h: _) p. notE \ _ \ _ \ (spec \ _ \ p \ h)" + "\ P R (h: _) p. notE \ _ \ _ \ (spec \ _ \ p \ h)" notE (P): "Null" - "\P R (h: _) p. notE \ _ \ _ \ (spec \ _ \ p \ h)" + "\ P R (h: _) p. notE \ _ \ _ \ (spec \ _ \ p \ h)" notE (R): "arbitrary" - "\P R. notE \ _ \ _" + "\ P R. notE \ _ \ _" notE: "Null" "notE" subst (P): "\s t ps. ps" - "\s t P (h: _) ps. subst \ s \ t \ P ps \ h" + "\ s t P (h: _) ps. subst \ s \ t \ P ps \ h" subst: "Null" "subst" iffD1 (P, Q): "fst" - "\Q P pq (h: _) p. + "\ Q P pq (h: _) p. mp \ _ \ _ \ (spec \ _ \ p \ (conjunct1 \ _ \ _ \ h))" iffD1 (P): "\p. p" - "\Q P p (h: _). mp \ _ \ _ \ (conjunct1 \ _ \ _ \ h)" + "\ Q P p (h: _). mp \ _ \ _ \ (conjunct1 \ _ \ _ \ h)" iffD1 (Q): "Null" - "\Q P q1 (h: _) q2. + "\ Q P q1 (h: _) q2. mp \ _ \ _ \ (spec \ _ \ q2 \ (conjunct1 \ _ \ _ \ h))" iffD1: "Null" "iffD1" iffD2 (P, Q): "snd" - "\P Q pq (h: _) q. + "\ P Q pq (h: _) q. mp \ _ \ _ \ (spec \ _ \ q \ (conjunct2 \ _ \ _ \ h))" iffD2 (P): "\p. p" - "\P Q p (h: _). mp \ _ \ _ \ (conjunct2 \ _ \ _ \ h)" + "\ P Q p (h: _). mp \ _ \ _ \ (conjunct2 \ _ \ _ \ h)" iffD2 (Q): "Null" - "\P Q q1 (h: _) q2. + "\ P Q q1 (h: _) q2. mp \ _ \ _ \ (spec \ _ \ q2 \ (conjunct2 \ _ \ _ \ h))" iffD2: "Null" "iffD2" iffI (P, Q): "Pair" - "\P Q pq (h1 : _) qp (h2 : _). conjI_realizer \ + "\ P Q pq (h1 : _) qp (h2 : _). conjI_realizer \ (\pq. \x. P x \ Q (pq x)) \ pq \ (\qp. \x. Q x \ P (qp x)) \ qp \ - (allI \ _ \ (\x. impI \ _ \ _ \ (h1 \ x))) \ - (allI \ _ \ (\x. impI \ _ \ _ \ (h2 \ x)))" + (allI \ _ \ (\ x. impI \ _ \ _ \ (h1 \ x))) \ + (allI \ _ \ (\ x. impI \ _ \ _ \ (h2 \ x)))" iffI (P): "\p. p" - "\P Q (h1 : _) p (h2 : _). conjI \ _ \ _ \ - (allI \ _ \ (\x. impI \ _ \ _ \ (h1 \ x))) \ + "\ P Q (h1 : _) p (h2 : _). conjI \ _ \ _ \ + (allI \ _ \ (\ x. impI \ _ \ _ \ (h1 \ x))) \ (impI \ _ \ _ \ h2)" iffI (Q): "\q. q" - "\P Q q (h1 : _) (h2 : _). conjI \ _ \ _ \ + "\ P Q q (h1 : _) (h2 : _). conjI \ _ \ _ \ (impI \ _ \ _ \ h1) \ - (allI \ _ \ (\x. impI \ _ \ _ \ (h2 \ x)))" + (allI \ _ \ (\ x. impI \ _ \ _ \ (h2 \ x)))" iffI: "Null" "iffI" (* classical: "Null" - "\P. classical \ _" + "\ P. classical \ _" *) end