Step
*
1
2
1
of Lemma
fpf-normalize-ap
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)} ─→ B[x]
6. x : A
7. ↑x ∈b d)
⊢ ((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))], λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi >;<[\000C]
, λx.⋅
>;d)))
x)
= (g1 x)
∈ B[x]
BY
{ ((((DupHyp (-1)) THEN (MoveToConcl (-1)) THEN GenConcl ⌈d = L ∈ ({x:A| (x ∈ d)} List)⌉⋅)
THENA (Auto THEN BLemma `list-subtype` THEN Auto)
)
THEN (Thin (-1))
THEN (ListInd (-1))) }
1
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)} ─→ B[x]
6. x : A
7. ↑x ∈b d)
⊢ (↑x ∈b []))
⇒ (((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))]
, λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi
>;<[], λx.⋅>;[])))
x)
= (g1 x)
∈ B[x])
2
1. A : Type
2. eq : EqDecider(A)
3. B : A ─→ Type
4. d : A List
5. g1 : x:{x:A| (x ∈ d)} ─→ B[x]
6. x : A
7. ↑x ∈b d)
8. u : {x:A| (x ∈ d)}
9. v : {x:A| (x ∈ d)} List
10. (↑x ∈b v))
⇒ (((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))]
, λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi
>;<[], λx.⋅>;v)))
x)
= (g1 x)
∈ B[x])
⊢ (↑x ∈b [u / v]))
⇒ (((snd(reduce(λx,f. <[x / filter(λa.(¬b((eq x a) ∨bff));fst(f))]
, λa.if (eq x a) ∨bff then g1 x else (snd(f)) a fi
>;<[], λx.⋅>;[u / v])))
x)
= (g1 x)
∈ B[x])
Latex:
1. A : Type
2. eq : EqDecider(A)
3. B : A {}\mrightarrow{} Type
4. d : A List
5. g1 : x:\{x:A| (x \mmember{} d)\} {}\mrightarrow{} B[x]
6. x : A
7. \muparrow{}x \mmember{}\msubb{} d)
\mvdash{} ((snd(reduce(\mlambda{}x,f. <[x / filter(\mlambda{}a.(\mneg{}\msubb{}((eq x a) \mvee{}\msubb{}ff));fst(f))]
, \mlambda{}a.if (eq x a) \mvee{}\msubb{}ff then g1 x else (snd(f)) a fi
><[], \mlambda{}x.\mcdot{}>d)))
x)
= (g1 x)
By
((((DupHyp (-1)) THEN (MoveToConcl (-1)) THEN GenConcl \mkleeneopen{}d = L\mkleeneclose{}\mcdot{})
THENA (Auto THEN BLemma `list-subtype` THEN Auto)
)
THEN (Thin (-1))
THEN (ListInd (-1)))
Home
Index