Step * 1 1 2 1 of Lemma fpf-as-apply-alist


1. Type
2. Type
3. List
4. f1 a:{a:A| (a ∈ d)}  ─→ B
5. eq EqDecider(A)
6. map(λx.<x, f1 x>;d) ∈ (A × B) List
7. A
8. (x ∈ d)
9. ∀[i:ℕ||map(λx.<x, f1 x>;d)||]
     (apply-alist(eq;map(λx.<x, f1 x>;d);x) inl (snd(map(λx.<x, f1 x>;d)[i]))) supposing 
        (((fst(map(λx.<x, f1 x>;d)[i])) x ∈ A) and 
        (∀j:ℕi. ((fst(map(λx.<x, f1 x>;d)[j])) x ∈ A))))
10. : ℕ||d||
11. ∀j:ℕi. ((fst(map(λx.<x, f1 x>;d)[j])) x ∈ A))
12. (fst(map(λx.<x, f1 x>;d)[i])) x ∈ A
13. apply-alist(eq;map(λx.<x, f1 x>;d);x) inl (snd(map(λx.<x, f1 x>;d)[i]))
⊢ (f1 x) (snd(map(λx.<x, f1 x>;d)[i])) ∈ B
BY
((InstLemma `map_select` [⌈{a:A| (a ∈ d)} ⌉;⌈A × B⌉;⌈λx.<x, f1 x>⌉;⌈d⌉;⌈i⌉]⋅ THENA Auto) THEN Reduce (-1) THEN Auto) }


Latex:



1.  A  :  Type
2.  B  :  Type
3.  d  :  A  List
4.  f1  :  a:\{a:A|  (a  \mmember{}  d)\}    {}\mrightarrow{}  B
5.  eq  :  EqDecider(A)
6.  map(\mlambda{}x.<x,  f1  x>d)  \mmember{}  (A  \mtimes{}  B)  List
7.  x  :  A
8.  (x  \mmember{}  d)
9.  \mforall{}[i:\mBbbN{}||map(\mlambda{}x.<x,  f1  x>d)||]
          (apply-alist(eq;map(\mlambda{}x.<x,  f1  x>d);x)  \msim{}  inl  (snd(map(\mlambda{}x.<x,  f1  x>d)[i])))  supposing 
                (((fst(map(\mlambda{}x.<x,  f1  x>d)[i]))  =  x)  and 
                (\mforall{}j:\mBbbN{}i.  (\mneg{}((fst(map(\mlambda{}x.<x,  f1  x>d)[j]))  =  x))))
10.  i  :  \mBbbN{}||d||
11.  \mforall{}j:\mBbbN{}i.  (\mneg{}((fst(map(\mlambda{}x.<x,  f1  x>d)[j]))  =  x))
12.  (fst(map(\mlambda{}x.<x,  f1  x>d)[i]))  =  x
13.  apply-alist(eq;map(\mlambda{}x.<x,  f1  x>d);x)  \msim{}  inl  (snd(map(\mlambda{}x.<x,  f1  x>d)[i]))
\mvdash{}  (f1  x)  =  (snd(map(\mlambda{}x.<x,  f1  x>d)[i]))


By

((InstLemma  `map\_select`  [\mkleeneopen{}\{a:A|  (a  \mmember{}  d)\}  \mkleeneclose{};\mkleeneopen{}A  \mtimes{}  B\mkleeneclose{};\mkleeneopen{}\mlambda{}x.<x,  f1  x>\mkleeneclose{};\mkleeneopen{}d\mkleeneclose{};\mkleeneopen{}i\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  Reduce  (-1)
  THEN  Auto)




Home Index