Step
*
1
11
1
1
of Lemma
mFOL-proveable-evidence
1. hyps : mFOL() List@i
2. concl : mFOL()@i
3. subgoals : mFOL-sequent() List@i
4. hypnum : ℕ@i
5. var : ℤ@i
6. hypnum < ||hyps||
7. ↑mFOquant?(hyps[hypnum])
8. mFOquant-isall(hyps[hypnum]) = tt
9. [Dom] : Type
10. [S] : FOStruct(Dom)
11. a : FOAssignment(Dom)@i
12. Dom,S,a |= mFOL-abstract(∀mFOquant-var(hyps[hypnum]);mFOquant-body(hyps[hypnum])))
⊢ Dom,S,a |= mFOL-abstract(mFOquant-body(hyps[hypnum])[var/mFOquant-var(hyps[hypnum])])
BY
{ (RenameVar `x' 5⋅
   THEN RepUR ``mFOL-abstract`` (-1)
   THEN Fold `mFOL-abstract` (-1)
   THEN RepUR ``FOQuantifier FOSatWith let`` (-1)
   THEN All (Fold `FOSatWith`)
   THEN Auto
   THEN (InstHyp [⌈a x⌉] (-1)⋅ THENA Auto)
   THEN NthHypEq (-1)
   THEN BLemma `mFOL-subst-abstract`
   THEN Auto)⋅ }
Latex:
1.  hyps  :  mFOL()  List@i
2.  concl  :  mFOL()@i
3.  subgoals  :  mFOL-sequent()  List@i
4.  hypnum  :  \mBbbN{}@i
5.  var  :  \mBbbZ{}@i
6.  hypnum  <  ||hyps||
7.  \muparrow{}mFOquant?(hyps[hypnum])
8.  mFOquant-isall(hyps[hypnum])  =  tt
9.  [Dom]  :  Type
10.  [S]  :  FOStruct(Dom)
11.  a  :  FOAssignment(Dom)@i
12.  Dom,S,a  |=  mFOL-abstract(\mforall{}mFOquant-var(hyps[hypnum]);mFOquant-body(hyps[hypnum])))
\mvdash{}  Dom,S,a  |=  mFOL-abstract(mFOquant-body(hyps[hypnum])[var/mFOquant-var(hyps[hypnum])])
By
(RenameVar  `x'  5\mcdot{}
  THEN  RepUR  ``mFOL-abstract``  (-1)
  THEN  Fold  `mFOL-abstract`  (-1)
  THEN  RepUR  ``FOQuantifier  FOSatWith  let``  (-1)
  THEN  All  (Fold  `FOSatWith`)
  THEN  Auto
  THEN  (InstHyp  [\mkleeneopen{}a  x\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  NthHypEq  (-1)
  THEN  BLemma  `mFOL-subst-abstract`
  THEN  Auto)\mcdot{}
Home
Index