Step
*
1
3
1
of Lemma
equipollent-partition
.....wf.....
1. k : ℕ
2. [A] : Type
3. A ~ ℕk
4. [P] : A ⟶ ℙ
5. d : ∀x:A. Dec(P[x])
6. L : A List
7. no_repeats(A;L)
8. ||L|| = k ∈ ℤ
9. ∀x:A. (x ∈ L)
10. ∀x:A. ((isl(d x) ∈ 𝔹) ∧ (↑isl(d x)
⇐⇒ P[x]))
11. k = (||filter(λx.isl(d x);L)|| + ||filter(λx.(¬bisl(d x));L)||) ∈ ℤ
12. {a:A| P[a]} ~ ℕ||filter(λx.isl(d x);L)||
⊢ filter(λx.(¬bisl(d x));L) ∈ {a:A| ¬P[a]} List
BY
{ ((InstLemma `filter_type` [⌜A⌝;⌜λx.(¬bisl(d x))⌝;⌜L⌝]⋅ THENA Auto)
THEN Reduce (-1)
THEN DoSubsume
THEN Auto
THEN SubtypeReasoning
THEN Auto
THEN RW assert_pushdownC (-1)
THEN Auto) }
Latex:
Latex:
.....wf.....
1. k : \mBbbN{}
2. [A] : Type
3. A \msim{} \mBbbN{}k
4. [P] : A {}\mrightarrow{} \mBbbP{}
5. d : \mforall{}x:A. Dec(P[x])
6. L : A List
7. no\_repeats(A;L)
8. ||L|| = k
9. \mforall{}x:A. (x \mmember{} L)
10. \mforall{}x:A. ((isl(d x) \mmember{} \mBbbB{}) \mwedge{} (\muparrow{}isl(d x) \mLeftarrow{}{}\mRightarrow{} P[x]))
11. k = (||filter(\mlambda{}x.isl(d x);L)|| + ||filter(\mlambda{}x.(\mneg{}\msubb{}isl(d x));L)||)
12. \{a:A| P[a]\} \msim{} \mBbbN{}||filter(\mlambda{}x.isl(d x);L)||
\mvdash{} filter(\mlambda{}x.(\mneg{}\msubb{}isl(d x));L) \mmember{} \{a:A| \mneg{}P[a]\} List
By
Latex:
((InstLemma `filter\_type` [\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}\mlambda{}x.(\mneg{}\msubb{}isl(d x))\mkleeneclose{};\mkleeneopen{}L\mkleeneclose{}]\mcdot{} THENA Auto)
THEN Reduce (-1)
THEN DoSubsume
THEN Auto
THEN SubtypeReasoning
THEN Auto
THEN RW assert\_pushdownC (-1)
THEN Auto)
Home
Index