Commit fa3e1a03 by Samuel Ben Hamou

### On continue la récurrence dans ZeroRight, mais on ne la termine (toujours) pas.

parent 6fb09ceb
 ... ... @@ -105,12 +105,38 @@ Definition PeanoTheory := (** Some basic proofs in Peano arithmetics. *) Import PeanoAx. Lemma ZeroRight : IsTheorem Intuiti PeanoTheory (∀ (#0 = #0 + Zero)). Proof. unfold IsTheorem. split. + unfold Wf. split; [ auto | split; auto ]. + exists ((induction_schema (#0 = #0 + Zero))::axioms_list). + exists ((PeanoAx.induction_schema (#0 = #0 + Zero))::axioms_list). split. - apply Forall_forall. intros. destruct H. * simpl. unfold IsAx. right. exists (#0 = #0 + Zero). split; [ auto | split ; [ auto | auto ] ]. * simpl. unfold IsAx. left. exact H. - apply R_Imp_e with (A := (nForall (Nat.pred (level (# 0 = # 0 + Zero))) ((∀ bsubst 0 Zero (# 0 = # 0 + Zero)) /\ (∀ # 0 = # 0 + Zero -> bsubst 0 (Succ (# 0)) (# 0 = # 0 + Zero))))). * apply R_Ax. unfold induction_schema. apply in_eq. * simpl. apply R_And_i. cbn. change (Fun "O" []) with Zero. apply R_All_i with (x := "x"). ++ compute. inversion 1. (* ATROCE *) ++ cbn. change (Fun "O" []) with Zero. eapply R_Imp_e. set (hyp := (_ -> _)%form). assert ( sym : Pr Intuiti (hyp::axioms_list ⊢ ∀∀ (#1 = #0 -> #0 = #1))). { apply R_Ax. compute; intuition. } apply R_All_e with (t := Zero + Zero) in sym. cbn in sym. apply R_All_e with (t := Zero) in sym. cbn in sym. exact sym. -- reflexivity. -- reflexivity. -- set (hyp := (_ -> _)%form). change (Fun "O" []) with Zero. change (Zero + Zero = Zero) with (bsubst 0 Zero (Zero + #0 = #0)). apply R_All_e. reflexivity. apply R_Ax. compute; intuition. ++ cbn. change (Fun "O" []) with Zero. apply R_All_i with (x := "x"). (* ax4 et ax10 +- sym *) -- compute. inversion 1. -- cbn. change (Fun "O" []) with Zero. apply R_Imp_i. set (H1 := FVar _ = _). set (H2 := _ -> _). assert (hyp : Pr Intuiti (H1 :: H2 :: axioms_list ⊢ Fun "S" [FVar "x"] = Fun "S" [FVar "x" + Zero] /\ Fun "S" [FVar "x" + Zero] = Fun "S" [FVar "x" + Zero])). { admit. } apply R_Imp_e with (A := Fun "S" [FVar "x"] = Fun "S" [FVar "x" + Zero] /\ Fun "S" [FVar "x" + Zero] = Fun "S" [FVar "x" + Zero]). ** apply R_All_i with (x := Fun "S" [FVar "x"]). Lemma Comm : IsTheorem Intuiti PeanoTheory (∀∀ (#0 + #1 = #1 + #0)). Proof. ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!