Step * of Lemma apply_alist_wf

[T:Type]. ∀[eq:EqDecider(T)]. ∀[x:T]. ∀[V:Type]. ∀[L:(T × V) List].
  apply_alist(eq;L;x) ∈ {v:V| (<x, v> ∈ L)}  supposing (x ∈ map(λa.(fst(a));L))
BY
(InductionOnList
   THEN Reduce 0
   THEN Auto
   THEN GenListD (-1)
   THEN DVar `u'
   THEN All Reduce
   THEN (Unfold `apply_alist` THEN Reduce 0)
   THEN (InstLemma `deq_property` [⌜T⌝;⌜eq⌝;⌜u1⌝;⌜x⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (GenConclTerm ⌜eq u1 x⌝⋅ THENA Auto)
   THEN -2
   THEN Reduce 0
   THEN (D THENA Auto)
   THEN -4
   THEN Try (((RepeatFor (D -1) THENA Auto) THEN MemTypeCD THEN Complete (Auto)))) }

1
1. Type
2. eq EqDecider(T)
3. T
4. Type
5. u1 T
6. u2 V
7. (T × V) List
8. apply_alist(eq;v;x) ∈ {v@0:V| (<x, v@0> ∈ v)}  supposing (x ∈ map(λa.(fst(a));v))
9. u1 ∈ T
10. Unit
11. eq u1 inr 
12. uiff(u1 x ∈ T;↑(inr ))
⊢ apply_alist(eq;v;x) ∈ {v@0:V| (<x, v@0> ∈ [<u1, u2> v])} 

2
1. Type
2. eq EqDecider(T)
3. T
4. Type
5. u1 T
6. u2 V
7. (T × V) List
8. apply_alist(eq;v;x) ∈ {v@0:V| (<x, v@0> ∈ v)}  supposing (x ∈ map(λa.(fst(a));v))
9. (x ∈ map(λa.(fst(a));v))
10. Unit
11. eq u1 inr 
12. uiff(u1 x ∈ T;↑(inr ))
⊢ apply_alist(eq;v;x) ∈ {v@0:V| (<x, v@0> ∈ [<u1, u2> v])} 


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:T].  \mforall{}[V:Type].  \mforall{}[L:(T  \mtimes{}  V)  List].
    apply\_alist(eq;L;x)  \mmember{}  \{v:V|  (<x,  v>  \mmember{}  L)\}    supposing  (x  \mmember{}  map(\mlambda{}a.(fst(a));L))


By


Latex:
(InductionOnList
  THEN  Reduce  0
  THEN  Auto
  THEN  GenListD  (-1)
  THEN  DVar  `u'
  THEN  All  Reduce
  THEN  (Unfold  `apply\_alist`  0  THEN  Reduce  0)
  THEN  (InstLemma  `deq\_property`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}u1\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (GenConclTerm  \mkleeneopen{}eq  u1  x\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  Reduce  0
  THEN  (D  0  THENA  Auto)
  THEN  D  -4
  THEN  Try  (((RepeatFor  2  (D  -1)  THENA  Auto)  THEN  MemTypeCD  THEN  Complete  (Auto))))




Home Index