Step
*
1
3
1
of Lemma
mFOL-proveable-evidence
1. hyps : mFOL() List@i
2. concl : mFOL()@i
3. subgoals : mFOL-sequent() List@i
4. subproofs : ℕ||subgoals|| ─→ proof-tree(mFOL-sequent();mFOLRule();λsr.mFOLeffect(sr))@i'
5. ∀b:ℕ||subgoals||. ∀s:mFOL-sequent().
     (correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);s;subproofs b) 
⇒ mFOL-sequent-evidence(s))@i'
6. ∀i:ℕ||subgoals||. correct_proof(mFOL-sequent();λsr.mFOLeffect(sr);subgoals[i];subproofs i)@i'
7. var : ℤ@i
8. ¬(var ∈ mFOL-freevars(concl))
9. (∀h∈hyps.¬(var ∈ mFOL-freevars(h)))
10. ↑mFOquant?(concl)
11. mFOquant-isall(concl) = tt
12. mFOL-sequent-evidence(<hyps, mFOquant-body(concl)[var/mFOquant-var(concl)]>)
⊢ mFOL-sequent-evidence(<hyps, concl>)
BY
{ ((Assert concl = ∀mFOquant-var(concl);mFOquant-body(concl)) ∈ mFOL() BY
          (MoveToConcl 2
           THEN BLemmaUp `mFOL-induction`
           THEN Reduce 0
           THEN Auto
           THEN Try ((Fold `AbstractFOFormula` 0 THEN Auto))
           THEN Unfold `mFOL-sequent` 0
           THEN Auto))⋅
   THEN ((HypSubst' -1 0 THENA Auto)
         THEN (HypSubst (-1) (-6) THENA Auto)
         THEN MoveToConcl (-6)
         THEN MoveToConcl (-2)
         THEN GenConclAtAddr [1;1;2;3]
         THEN Thin (-1)
         THEN RenameVar `body' (-1)
         THEN GenConclAtAddr [1;1;2;2]
         THEN Thin (-1)
         THEN RenameVar `x' (-1)
         THEN Auto
         THEN ThinVar `concl'
         THEN ThinVar `subproofs'
         THEN ThinVar `subgoals')⋅
   ) }
1
1. hyps : mFOL() List@i
2. var : ℤ@i
3. (∀h∈hyps.¬(var ∈ mFOL-freevars(h)))
4. body : mFOL()@i
5. x : ℤ@i
6. mFOL-sequent-evidence(<hyps, body[var/x]>)@i'
7. ¬(var ∈ mFOL-freevars(∀x;body)))@i
⊢ mFOL-sequent-evidence(<hyps, ∀x;body)>)
Latex:
1.  hyps  :  mFOL()  List@i
2.  concl  :  mFOL()@i
3.  subgoals  :  mFOL-sequent()  List@i
4.  subproofs  :  \mBbbN{}||subgoals||  {}\mrightarrow{}  proof-tree(mFOL-sequent();mFOLRule();\mlambda{}sr.mFOLeffect(sr))@i'
5.  \mforall{}b:\mBbbN{}||subgoals||.  \mforall{}s:mFOL-sequent().
          (correct\_proof(mFOL-sequent();\mlambda{}sr.mFOLeffect(sr);s;subproofs  b)  {}\mRightarrow{}  mFOL-sequent-evidence(s))@i'
6.  \mforall{}i:\mBbbN{}||subgoals||.  correct\_proof(mFOL-sequent();\mlambda{}sr.mFOLeffect(sr);subgoals[i];subproofs  i)@i'
7.  var  :  \mBbbZ{}@i
8.  \mneg{}(var  \mmember{}  mFOL-freevars(concl))
9.  (\mforall{}h\mmember{}hyps.\mneg{}(var  \mmember{}  mFOL-freevars(h)))
10.  \muparrow{}mFOquant?(concl)
11.  mFOquant-isall(concl)  =  tt
12.  mFOL-sequent-evidence(<hyps,  mFOquant-body(concl)[var/mFOquant-var(concl)]>)
\mvdash{}  mFOL-sequent-evidence(<hyps,  concl>)
By
((Assert  concl  =  \mforall{}mFOquant-var(concl);mFOquant-body(concl))  BY
                (MoveToConcl  2
                  THEN  BLemmaUp  `mFOL-induction`
                  THEN  Reduce  0
                  THEN  Auto
                  THEN  Try  ((Fold  `AbstractFOFormula`  0  THEN  Auto))
                  THEN  Unfold  `mFOL-sequent`  0
                  THEN  Auto))\mcdot{}
  THEN  ((HypSubst'  -1  0  THENA  Auto)
              THEN  (HypSubst  (-1)  (-6)  THENA  Auto)
              THEN  MoveToConcl  (-6)
              THEN  MoveToConcl  (-2)
              THEN  GenConclAtAddr  [1;1;2;3]
              THEN  Thin  (-1)
              THEN  RenameVar  `body'  (-1)
              THEN  GenConclAtAddr  [1;1;2;2]
              THEN  Thin  (-1)
              THEN  RenameVar  `x'  (-1)
              THEN  Auto
              THEN  ThinVar  `concl'
              THEN  ThinVar  `subproofs'
              THEN  ThinVar  `subgoals')\mcdot{}
  )
Home
Index