Step * 2 2 1 1 1 1 of Lemma term-opr_functionality


1. opr Type
2. term(opr)
3. t' term(opr)
4. ¬↑isvarterm(t)
5. alpha-eq-terms(opr;t;t')
6. f1 opr
7. b1 {bt:bound-term(opr)| bound-term-size(bt) < term-size(t)}  List
8. opr
9. bts {bt:bound-term(opr)| bound-term-size(bt) < term-size(t')}  List
10. alpha-eq-terms(opr;mkterm(f1;b1);mkterm(f;bts))
⊢ f1 f ∈ opr
BY
(RepeatFor (MoveToConcl (-1))
   THEN ListInd (-2)
   THEN InductionOnList
   THEN RW (AddrC [1] (TagC (mk_tag_term 4))) 0
   THEN Reduce 0
   THEN Try (Fold `alpha-eq-terms` 0)
   THEN Auto) }


Latex:


Latex:

1.  opr  :  Type
2.  t  :  term(opr)
3.  t'  :  term(opr)
4.  \mneg{}\muparrow{}isvarterm(t)
5.  alpha-eq-terms(opr;t;t')
6.  f1  :  opr
7.  b1  :  \{bt:bound-term(opr)|  bound-term-size(bt)  <  term-size(t)\}    List
8.  f  :  opr
9.  bts  :  \{bt:bound-term(opr)|  bound-term-size(bt)  <  term-size(t')\}    List
10.  alpha-eq-terms(opr;mkterm(f1;b1);mkterm(f;bts))
\mvdash{}  f1  =  f


By


Latex:
(RepeatFor  2  (MoveToConcl  (-1))
  THEN  ListInd  (-2)
  THEN  InductionOnList
  THEN  RW  (AddrC  [1]  (TagC  (mk\_tag\_term  4)))  0
  THEN  Reduce  0
  THEN  Try  (Fold  `alpha-eq-terms`  0)
  THEN  Auto)




Home Index