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