equal
deleted
inserted
replaced
205 (ALL x. Q(x::int) \<and> ~(EX (j::int) : {1..d}. EX (b::int) : B. Q(b+j)) -->P(x) --> P(x - d)) |
205 (ALL x. Q(x::int) \<and> ~(EX (j::int) : {1..d}. EX (b::int) : B. Q(b+j)) -->P(x) --> P(x - d)) |
206 ==> ( P = Q ) |
206 ==> ( P = Q ) |
207 ==> (ALL x. ~(EX (j::int) : {1..d}. EX (b::int) : B. P(b+j)) -->P(x) --> P(x - d))" |
207 ==> (ALL x. ~(EX (j::int) : {1..d}. EX (b::int) : B. P(b+j)) -->P(x) --> P(x - d))" |
208 by blast |
208 by blast |
209 (*=============================================================================*) |
209 (*=============================================================================*) |
210 (*The Theorem for the second proof step- about bset. it is trivial too. *) |
210 |
211 lemma bst_thm: " (EX (j::int) : {1..d}. EX (b::int) : B. P (b+j) )--> (EX x::int. P (x)) " |
|
212 by blast |
|
213 |
|
214 (*The Theorem for the second proof step- about aset. it is trivial too. *) |
|
215 lemma ast_thm: " (EX (j::int) : {1..d}. EX (a::int) : A. P (a - j) )--> (EX x::int. P (x)) " |
|
216 by blast |
|
217 |
|
218 |
|
219 (*=============================================================================*) |
|
220 (*This is the first direction of cooper's theorem*) |
211 (*This is the first direction of cooper's theorem*) |
221 lemma cooper_thm: "(R --> (EX x::int. P x)) ==> (Q -->(EX x::int. P x )) ==> ((R|Q) --> (EX x::int. P x )) " |
212 lemma cooper_thm: "(R --> (EX x::int. P x)) ==> (Q -->(EX x::int. P x )) ==> ((R|Q) --> (EX x::int. P x )) " |
222 by blast |
213 by blast |
223 |
214 |
224 (*=============================================================================*) |
215 (*=============================================================================*) |
736 ultimately show "P x \<longrightarrow> P(x + (i + 1) * d)" by blast |
727 ultimately show "P x \<longrightarrow> P(x + (i + 1) * d)" by blast |
737 qed |
728 qed |
738 qed |
729 qed |
739 |
730 |
740 lemma cpmi_eq: "0 < D \<Longrightarrow> (EX z::int. ALL x. x < z --> (P x = P1 x)) |
731 lemma cpmi_eq: "0 < D \<Longrightarrow> (EX z::int. ALL x. x < z --> (P x = P1 x)) |
741 ==> (EX (j::int) : {1..D}. EX (b::int) : B. P (b+j)) --> (EX (x::int). P x) |
|
742 ==> ALL x.~(EX (j::int) : {1..D}. EX (b::int) : B. P(b+j)) --> P (x) --> P (x - D) |
732 ==> ALL x.~(EX (j::int) : {1..D}. EX (b::int) : B. P(b+j)) --> P (x) --> P (x - D) |
743 ==> (ALL (x::int). ALL (k::int). ((P1 x)= (P1 (x-k*D)))) |
733 ==> (ALL (x::int). ALL (k::int). ((P1 x)= (P1 (x-k*D)))) |
744 ==> (EX (x::int). P(x)) = ((EX (j::int) : {1..D} . (P1(j))) | (EX (j::int) : {1..D}. EX (b::int) : B. P (b+j)))" |
734 ==> (EX (x::int). P(x)) = ((EX (j::int) : {1..D} . (P1(j))) | (EX (j::int) : {1..D}. EX (b::int) : B. P (b+j)))" |
745 apply(rule iffI) |
735 apply(rule iffI) |
746 prefer 2 |
736 prefer 2 |
760 apply(blast dest:decr_mult_lemma) |
750 apply(blast dest:decr_mult_lemma) |
761 done |
751 done |
762 |
752 |
763 (* Cooper Thm `, plus infinity version*) |
753 (* Cooper Thm `, plus infinity version*) |
764 lemma cppi_eq: "0 < D \<Longrightarrow> (EX z::int. ALL x. z < x --> (P x = P1 x)) |
754 lemma cppi_eq: "0 < D \<Longrightarrow> (EX z::int. ALL x. z < x --> (P x = P1 x)) |
765 ==> (EX (j::int) : {1..D}. EX (a::int) : A. P (a - j)) --> (EX (x::int). P x) |
|
766 ==> ALL x.~(EX (j::int) : {1..D}. EX (a::int) : A. P(a - j)) --> P (x) --> P (x + D) |
755 ==> ALL x.~(EX (j::int) : {1..D}. EX (a::int) : A. P(a - j)) --> P (x) --> P (x + D) |
767 ==> (ALL (x::int). ALL (k::int). ((P1 x)= (P1 (x+k*D)))) |
756 ==> (ALL (x::int). ALL (k::int). ((P1 x)= (P1 (x+k*D)))) |
768 ==> (EX (x::int). P(x)) = ((EX (j::int) : {1..D} . (P1(j))) | (EX (j::int) : {1..D}. EX (a::int) : A. P (a - j)))" |
757 ==> (EX (x::int). P(x)) = ((EX (j::int) : {1..D} . (P1(j))) | (EX (j::int) : {1..D}. EX (a::int) : A. P (a - j)))" |
769 apply(rule iffI) |
758 apply(rule iffI) |
770 prefer 2 |
759 prefer 2 |