Update
This commit is contained in:
parent
b95fe2fb75
commit
6507761b38
|
@ -595,14 +595,52 @@ Proof.
|
||||||
(T F) | T F T F || F T F T | (T F) diff + impossible à gauche
|
(T F) | T F T F || F T F T | (T F) diff + impossible à gauche
|
||||||
*)
|
*)
|
||||||
assert ({b=b1} + {~ b=b1}). apply bool_dec. destruct H1. rewrite e in H.
|
assert ({b=b1} + {~ b=b1}). apply bool_dec. destruct H1. rewrite e in H.
|
||||||
|
(*
|
||||||
assert (b2 = b0). destruct (b2); destruct b1; destruct b0.
|
assert (b2 = b0). destruct (b2); destruct b1; destruct b0.
|
||||||
reflexivity. contradiction n0. reflexivity. reflexivity.
|
reflexivity. contradiction n0. reflexivity. reflexivity.
|
||||||
contradiction n1. reflexivity. contradiction n1. reflexivity.
|
contradiction n1. reflexivity. contradiction n1. reflexivity.
|
||||||
reflexivity. contradiction n0. reflexivity. reflexivity. rewrite H1 in H.
|
reflexivity. contradiction n0. reflexivity. reflexivity. rewrite H1 in H.
|
||||||
|
*)
|
||||||
|
|
||||||
(* cas b = b1 T F T F || F T F T *)
|
rewrite app_removelast_last with (l := b3::hd) (d := false) in H.
|
||||||
|
rewrite <- app_assoc in H.
|
||||||
|
assert ({last (b3::hd) false=b0} + {~ last (b3::hd) false=b0}).
|
||||||
|
apply bool_dec. destruct H1. rewrite e0 in H.
|
||||||
|
|
||||||
|
(* problème à gauche *)
|
||||||
|
destruct M. left. assumption. (* ici on postule le modulo = 2 *)
|
||||||
|
|
||||||
|
rewrite app_removelast_last with (l := b3::hd) (d := false) in Q.
|
||||||
|
rewrite last_length in Q. rewrite Nat.even_succ in Q. apply odd_mod4 in Q.
|
||||||
|
destruct Q.
|
||||||
|
assert (exists x, firstn 2 [b0;b1;b0;b1] = [x;x]). generalize H2.
|
||||||
|
assert (length [b0;b1;b0;b1] = 4). reflexivity. generalize H3.
|
||||||
|
replace (
|
||||||
|
removelast (b3 :: hd) ++
|
||||||
|
[b0] ++ b1 :: b0 :: b1 :: b2 :: b2 :: b1 :: b0 :: b1 :: b4 :: tl )
|
||||||
|
with (
|
||||||
|
removelast (b3 :: hd) ++ [b0;b1;b0;b1]
|
||||||
|
++ (b2 :: b2 :: b1 :: b0 :: b1 :: b4 :: tl )) in H.
|
||||||
|
generalize H. apply tm_step_factor4_1mod4. reflexivity.
|
||||||
|
destruct H3. inversion H3. rewrite <- H6 in H5. rewrite H5 in n1.
|
||||||
|
contradiction n1. reflexivity.
|
||||||
|
|
||||||
|
assert (exists x, skipn 2 [b0;b1;b0;b1] = [x;x]). generalize H2.
|
||||||
|
assert (length [b0;b1;b0;b1] = 4). reflexivity. generalize H3.
|
||||||
|
replace (
|
||||||
|
removelast (b3 :: hd) ++
|
||||||
|
[b0] ++ b1 :: b0 :: b1 :: b2 :: b2 :: b1 :: b0 :: b1 :: b4 :: tl )
|
||||||
|
with (
|
||||||
|
removelast (b3 :: hd) ++ [b0;b1;b0;b1]
|
||||||
|
++ (b2 :: b2 :: b1 :: b0 :: b1 :: b4 :: tl )) in H.
|
||||||
|
generalize H. apply tm_step_factor4_3mod4. reflexivity.
|
||||||
|
destruct H3. inversion H3. rewrite <- H6 in H5. rewrite H5 in n1.
|
||||||
|
contradiction n1. reflexivity. easy.
|
||||||
|
|
||||||
|
(* nouveau cas : last (b3 :: hd) false <> b0
|
||||||
|
(F T) | T F T F || F T F T | (F T) diff + impossible à droite
|
||||||
|
(F T) | T F T F || F T F T | (T F) 4n+2 a/rev a/a possible ?
|
||||||
|
*)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user