Step * 2 1 1 1 of Lemma poss-maj-invariant


1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. : ℕ
7. T
8. ((count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n)
∧ (∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys)))))
⊢ let n,z@0 if eq then <1, z>
  if (n =z 0) then <1, y>
  else <1, z>
  fi  
  in ((count(eq z@0;ys [y]) count(λt.(¬b(eq z@0 t));ys [y])) ≤ n)
     ∧ (∀y@0:T. ((¬↑(eq z@0 y@0))  (n ≤ (count(λt.(¬b(eq y@0 t));ys [y]) count(eq y@0;ys [y])))))
BY
(Repeat (AutoSplit)
   THEN Auto
   THEN (RWW "count-append count-single" THENA Auto)
   THEN Reduce 0
   THEN Repeat (AutoSplit)
   THEN AllHyps (\h. (D THEN Complete ((RW assert_pushdownC THEN Auto))) )⋅}

1
1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. : ℕ
7. T
8. (count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n
9. ∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys))))
10. z ∈ T
11. (count(eq z;ys [y]) count(λt.(¬b(eq t));ys [y])) ≤ (n 1)
12. y@0 T
13. ¬(y@0 y ∈ T)
14. ¬↑(eq y@0)
⊢ (n 1) ≤ ((count(λt.(¬b(eq y@0 t));ys) 1) count(eq y@0;ys) 0)

2
1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. : ℕ
7. T
8. ¬(y z ∈ T)
9. (count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n
10. ∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys))))
11. 0 ∈ ℤ
12. y ∈ T
⊢ ((count(eq y;ys) 1) count(λt.(¬b(eq t));ys) 0) ≤ 1

3
1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. : ℕ
7. T
8. ¬(y z ∈ T)
9. (count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n
10. ∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys))))
11. 0 ∈ ℤ
12. (count(eq y;ys [y]) count(λt.(¬b(eq t));ys [y])) ≤ 1
13. y@0 T
14. ¬(y@0 y ∈ T)
15. ¬↑(eq y@0)
⊢ 1 ≤ ((count(λt.(¬b(eq y@0 t));ys) 1) count(eq y@0;ys) 0)

4
1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. {1...}
7. T
8. ¬(y z ∈ T)
9. (count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n
10. ∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys))))
11. (count(eq z;ys [y]) count(λt.(¬b(eq t));ys [y])) ≤ (n 1)
12. y@0 T
13. ¬↑(eq y@0)
14. y@0 y ∈ T
⊢ (n 1) ≤ ((count(λt.(¬b(eq y@0 t));ys) 0) count(eq y@0;ys) 1)

5
1. Type
2. eq EqDecider(T)
3. T
4. ys List
5. T
6. {1...}
7. T
8. ¬(y z ∈ T)
9. (count(eq z;ys) count(λt.(¬b(eq t));ys)) ≤ n
10. ∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));ys) count(eq y;ys))))
11. (count(eq z;ys [y]) count(λt.(¬b(eq t));ys [y])) ≤ (n 1)
12. y@0 T
13. ¬(y@0 y ∈ T)
14. ¬↑(eq y@0)
⊢ (n 1) ≤ ((count(λt.(¬b(eq y@0 t));ys) 1) count(eq y@0;ys) 0)


Latex:


Latex:

1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  ys  :  T  List
5.  y  :  T
6.  n  :  \mBbbN{}
7.  z  :  T
8.  ((count(eq  z;ys)  -  count(\mlambda{}t.(\mneg{}\msubb{}(eq  z  t));ys))  \mleq{}  n)
\mwedge{}  (\mforall{}y:T.  ((\mneg{}\muparrow{}(eq  z  y))  {}\mRightarrow{}  (n  \mleq{}  (count(\mlambda{}t.(\mneg{}\msubb{}(eq  y  t));ys)  -  count(eq  y;ys)))))
\mvdash{}  let  n,z@0  =  if  eq  y  z  then  <n  +  1,  z>
    if  (n  =\msubz{}  0)  then  ə,  y>
    else  <n  -  1,  z>
    fi   
    in  ((count(eq  z@0;ys  @  [y])  -  count(\mlambda{}t.(\mneg{}\msubb{}(eq  z@0  t));ys  @  [y]))  \mleq{}  n)
          \mwedge{}  (\mforall{}y@0:T
                    ((\mneg{}\muparrow{}(eq  z@0  y@0))  {}\mRightarrow{}  (n  \mleq{}  (count(\mlambda{}t.(\mneg{}\msubb{}(eq  y@0  t));ys  @  [y])  -  count(eq  y@0;ys  @  [y])))))


By


Latex:
(Repeat  (AutoSplit)
  THEN  Auto
  THEN  (RWW  "count-append  count-single"  0  THENA  Auto)
  THEN  Reduce  0
  THEN  Repeat  (AutoSplit)
  THEN  AllHyps  (\mbackslash{}h.  (D  h  THEN  Complete  ((RW  assert\_pushdownC  0  THEN  Auto)))  )\mcdot{})




Home Index