Step
*
2
1
1
1
of Lemma
bag-member-count
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. T List ∈ Type
5. ∀as,b1:T List.  (permutation(T;as;b1) ∈ Type)
6. ∀as:T List. permutation(T;as;as)
7. L : T List
8. b1 : T List
9. permutation(T;L;b1)
10. ((1 ≤ #([y∈L|eq x y])) 
⇒ x ↓∈ L) = ((1 ≤ #([y∈b1|eq x y])) 
⇒ x ↓∈ b1) ∈ Type
11. h : 1 ≤ #([y∈L|eq x y])
12. L = L ∈ bag(T)
⊢ (x ∈ L)
BY
{ xxx(Thin (-1)
      THEN RepUR ``bag-size bag-filter`` (-1)
      THEN (InstLemma `filter_is_empty` [⌜T⌝;λy.(eq x y);⌜L⌝]⋅ THENA Auto)
      THEN Reduce (-1))xxx }
1
1. T : Type
2. eq : EqDecider(T)
3. x : T
4. T List ∈ Type
5. ∀as,b1:T List.  (permutation(T;as;b1) ∈ Type)
6. ∀as:T List. permutation(T;as;as)
7. L : T List
8. b1 : T List
9. permutation(T;L;b1)
10. ((1 ≤ #([y∈L|eq x y])) 
⇒ x ↓∈ L) = ((1 ≤ #([y∈b1|eq x y])) 
⇒ x ↓∈ b1) ∈ Type
11. h : 1 ≤ ||filter(λy.(eq x y);L)||
12. uiff(↑null(filter(λy.(eq x y);L));∀[i:ℕ||L||]. (¬↑(eq x L[i])))
⊢ (x ∈ L)
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  T  List  \mmember{}  Type
5.  \mforall{}as,b1:T  List.    (permutation(T;as;b1)  \mmember{}  Type)
6.  \mforall{}as:T  List.  permutation(T;as;as)
7.  L  :  T  List
8.  b1  :  T  List
9.  permutation(T;L;b1)
10.  ((1  \mleq{}  \#([y\mmember{}L|eq  x  y]))  {}\mRightarrow{}  x  \mdownarrow{}\mmember{}  L)  =  ((1  \mleq{}  \#([y\mmember{}b1|eq  x  y]))  {}\mRightarrow{}  x  \mdownarrow{}\mmember{}  b1)
11.  h  :  1  \mleq{}  \#([y\mmember{}L|eq  x  y])
12.  L  =  L
\mvdash{}  (x  \mmember{}  L)
By
Latex:
xxx(Thin  (-1)
        THEN  RepUR  ``bag-size  bag-filter``  (-1)
        THEN  (InstLemma  `filter\_is\_empty`  [\mkleeneopen{}T\mkleeneclose{};\mlambda{}y.(eq  x  y);\mkleeneopen{}L\mkleeneclose{}]\mcdot{}  THENA  Auto)
        THEN  Reduce  (-1))xxx
Home
Index