Step
*
2
1
1
of Lemma
isvarterm_functionality
1. opr : Type
2. t : term(opr)
3. t' : term(opr)
4. alpha-eq-terms(opr;t;t')
5. ∃f:opr. ∃bts:{bt:bound-term(opr)| bound-term-size(bt) < term-size(t)}  List. (t = mkterm(f;bts) ∈ term(opr))
6. ∃v:varname(). ((¬(v = nullvar() ∈ varname())) ∧ (t' = varterm(v) ∈ term(opr)))
⊢ ff = isvarterm(t')
BY
{ ((Assert ⌜False⌝⋅ THEN Auto) THEN ExRepD) }
1
1. opr : Type
2. t : term(opr)
3. t' : term(opr)
4. alpha-eq-terms(opr;t;t')
5. f : opr
6. bts : {bt:bound-term(opr)| bound-term-size(bt) < term-size(t)}  List
7. t = mkterm(f;bts) ∈ term(opr)
8. v : varname()
9. ¬(v = nullvar() ∈ varname())
10. t' = varterm(v) ∈ term(opr)
⊢ False
Latex:
Latex:
1.  opr  :  Type
2.  t  :  term(opr)
3.  t'  :  term(opr)
4.  alpha-eq-terms(opr;t;t')
5.  \mexists{}f:opr.  \mexists{}bts:\{bt:bound-term(opr)|  bound-term-size(bt)  <  term-size(t)\}    List.  (t  =  mkterm(f;bts))
6.  \mexists{}v:varname().  ((\mneg{}(v  =  nullvar()))  \mwedge{}  (t'  =  varterm(v)))
\mvdash{}  ff  =  isvarterm(t')
By
Latex:
((Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Auto)  THEN  ExRepD)
Home
Index