# HG changeset patch # User wenzelm # Date 1455475499 -3600 # Node ID ccb42dbf4aa18a5d89cc65120667f9bdcfa49885 # Parent ec0fbd1a852bd987eced9dcf4adc660200833ab6 more explicit dummy proofs; diff -r ec0fbd1a852b -r ccb42dbf4aa1 src/HOL/Induct/Common_Patterns.thy --- a/src/HOL/Induct/Common_Patterns.thy Sun Feb 14 16:40:00 2016 +0100 +++ b/src/HOL/Induct/Common_Patterns.thy Sun Feb 14 19:44:59 2016 +0100 @@ -42,12 +42,12 @@ proof (induct n arbitrary: x) case 0 note prem = \A 0 x\ - show "P 0 x" sorry + show "P 0 x" \ next case (Suc n) note hyp = \\x. A n x \ P n x\ and prem = \A (Suc n) x\ - show "P (Suc n) x" sorry + show "P (Suc n) x" \ qed @@ -70,13 +70,13 @@ case 0 note prem = \A (a x)\ and defn = \0 = a x\ - show "P (a x)" sorry + show "P (a x)" \ next case (Suc n) note hyp = \\x. n = a x \ A (a x) \ P (a x)\ and prem = \A (a x)\ and defn = \Suc n = a x\ - show "P (a x)" sorry + show "P (a x)" \ qed text \ @@ -99,18 +99,18 @@ shows "P n" and "Q n" proof (induct n) case 0 case 1 - show "P 0" sorry + show "P 0" \ next case 0 case 2 - show "Q 0" sorry + show "Q 0" \ next case (Suc n) case 1 note hyps = \P n\ \Q n\ - show "P (Suc n)" sorry + show "P (Suc n)" \ next case (Suc n) case 2 note hyps = \P n\ \Q n\ - show "Q (Suc n)" sorry + show "Q (Suc n)" \ qed text \ @@ -127,11 +127,11 @@ { case 1 note \A 0\ - show "P 0" sorry + show "P 0" \ next case 2 note \B 0\ - show "Q 0" sorry + show "Q 0" \ } next case (Suc n) @@ -140,11 +140,11 @@ { case 1 note \A (Suc n)\ - show "P (Suc n)" sorry + show "P (Suc n)" \ next case 2 note \B (Suc n)\ - show "Q (Suc n)" sorry + show "Q (Suc n)" \ } qed @@ -172,26 +172,26 @@ { case 1 note prem = \A 0 x\ - show "P 0 x" sorry + show "P 0 x" \ } { case 2 note prem = \B 0 y\ - show "Q 0 y" sorry + show "Q 0 y" \ } next case (Suc n) note hyps = \\x. A n x \ P n x\ \\y. B n y \ Q n y\ - then have some_intermediate_result sorry + then have some_intermediate_result \ { case 1 note prem = \A (Suc n) x\ - show "P (Suc n) x" sorry + show "P (Suc n) x" \ } { case 2 note prem = \B (Suc n) y\ - show "Q (Suc n) y" sorry + show "Q (Suc n) y" \ } qed @@ -238,22 +238,22 @@ and "R bazar" proof (induct foo and bar and bazar) case (Foo1 n) - show "P (Foo1 n)" sorry + show "P (Foo1 n)" \ next case (Foo2 bar) note \Q bar\ - show "P (Foo2 bar)" sorry + show "P (Foo2 bar)" \ next case (Bar1 b) - show "Q (Bar1 b)" sorry + show "Q (Bar1 b)" \ next case (Bar2 bazar) note \R bazar\ - show "Q (Bar2 bazar)" sorry + show "Q (Bar2 bazar)" \ next case (Bazar foo) note \P foo\ - show "R (Bazar foo)" sorry + show "R (Bazar foo)" \ qed text \ @@ -296,11 +296,11 @@ using assms proof induct case zero - show "P 0" sorry + show "P 0" \ next case (double n) note \Even n\ and \P n\ - show "P (2 * n)" sorry + show "P (2 * n)" \ qed text \ @@ -324,20 +324,20 @@ case zero { case 1 - show "P1 0" sorry + show "P1 0" \ next case 2 - show "P2 0" sorry + show "P2 0" \ } next case (double n) note \Even n\ and \P1 n\ and \P2 n\ { case 1 - show "P1 (2 * n)" sorry + show "P1 (2 * n)" \ next case 2 - show "P2 (2 * n)" sorry + show "P2 (2 * n)" \ } qed @@ -362,20 +362,20 @@ "Odd n \ Q2 n" proof (induct rule: Evn_Odd.inducts) case zero - { case 1 show "P1 0" sorry } - { case 2 show "P2 0" sorry } - { case 3 show "P3 0" sorry } + { case 1 show "P1 0" \ } + { case 2 show "P2 0" \ } + { case 3 show "P3 0" \ } next case (succ_Evn n) note \Evn n\ and \P1 n\ \P2 n\ \P3 n\ - { case 1 show "Q1 (Suc n)" sorry } - { case 2 show "Q2 (Suc n)" sorry } + { case 1 show "Q1 (Suc n)" \ } + { case 2 show "Q2 (Suc n)" \ } next case (succ_Odd n) note \Odd n\ and \Q1 n\ \Q2 n\ - { case 1 show "P1 (Suc n)" sorry } - { case 2 show "P2 (Suc n)" sorry } - { case 3 show "P3 (Suc n)" sorry } + { case 1 show "P1 (Suc n)" \ } + { case 2 show "P2 (Suc n)" \ } + { case 3 show "P3 (Suc n)" \ } qed