Step * 3 of Lemma bag_remove1_aux_property


1. [T] Type
2. eq EqDecider(T)
3. T
4. T
5. ¬(u x ∈ T)
6. List
7. ∀checked:T List
     ((∃as,bs:T List
        ((v ((as [x]) bs) ∈ (T List))
        ∧ (bag_remove1_aux(eq;checked;x;v) (inl ((rev(as) checked) bs)) ∈ (T List?))))
     ∨ ((¬(x ∈ v)) ∧ (bag_remove1_aux(eq;checked;x;v) (inr ⋅ ) ∈ (T List?))))
8. checked List
⊢ (∃as,bs:T List
    (([u v] ((as [x]) bs) ∈ (T List))
    ∧ (bag_remove1_aux(eq;[u checked];x;v) (inl ((rev(as) checked) bs)) ∈ (T List?))))
∨ ((¬(x ∈ [u v])) ∧ (bag_remove1_aux(eq;[u checked];x;v) (inr ⋅ ) ∈ (T List?)))
BY
((InstHyp [⌜[u checked]⌝(-2)⋅ THENA Auto) THEN ParallelLast) }

1
1. [T] Type
2. eq EqDecider(T)
3. T
4. T
5. ¬(u x ∈ T)
6. List
7. ∀checked:T List
     ((∃as,bs:T List
        ((v ((as [x]) bs) ∈ (T List))
        ∧ (bag_remove1_aux(eq;checked;x;v) (inl ((rev(as) checked) bs)) ∈ (T List?))))
     ∨ ((¬(x ∈ v)) ∧ (bag_remove1_aux(eq;checked;x;v) (inr ⋅ ) ∈ (T List?))))
8. checked List
9. ∃as,bs:T List
    ((v ((as [x]) bs) ∈ (T List))
    ∧ (bag_remove1_aux(eq;[u checked];x;v) (inl ((rev(as) [u checked]) bs)) ∈ (T List?)))
⊢ ∃as,bs:T List
   (([u v] ((as [x]) bs) ∈ (T List))
   ∧ (bag_remove1_aux(eq;[u checked];x;v) (inl ((rev(as) checked) bs)) ∈ (T List?)))

2
1. [T] Type
2. eq EqDecider(T)
3. T
4. T
5. ¬(u x ∈ T)
6. List
7. ∀checked:T List
     ((∃as,bs:T List
        ((v ((as [x]) bs) ∈ (T List))
        ∧ (bag_remove1_aux(eq;checked;x;v) (inl ((rev(as) checked) bs)) ∈ (T List?))))
     ∨ ((¬(x ∈ v)) ∧ (bag_remove1_aux(eq;checked;x;v) (inr ⋅ ) ∈ (T List?))))
8. checked List
9. (x ∈ v)) ∧ (bag_remove1_aux(eq;[u checked];x;v) (inr ⋅ ) ∈ (T List?))
⊢ (x ∈ [u v])) ∧ (bag_remove1_aux(eq;[u checked];x;v) (inr ⋅ ) ∈ (T List?))


Latex:


Latex:

1.  [T]  :  Type
2.  eq  :  EqDecider(T)
3.  x  :  T
4.  u  :  T
5.  \mneg{}(u  =  x)
6.  v  :  T  List
7.  \mforall{}checked:T  List
          ((\mexists{}as,bs:T  List
                ((v  =  ((as  @  [x])  @  bs))
                \mwedge{}  (bag\_remove1\_aux(eq;checked;x;v)  =  (inl  ((rev(as)  @  checked)  @  bs)))))
          \mvee{}  ((\mneg{}(x  \mmember{}  v))  \mwedge{}  (bag\_remove1\_aux(eq;checked;x;v)  =  (inr  \mcdot{}  ))))
8.  checked  :  T  List
\mvdash{}  (\mexists{}as,bs:T  List
        (([u  /  v]  =  ((as  @  [x])  @  bs))
        \mwedge{}  (bag\_remove1\_aux(eq;[u  /  checked];x;v)  =  (inl  ((rev(as)  @  checked)  @  bs)))))
\mvee{}  ((\mneg{}(x  \mmember{}  [u  /  v]))  \mwedge{}  (bag\_remove1\_aux(eq;[u  /  checked];x;v)  =  (inr  \mcdot{}  )))


By


Latex:
((InstHyp  [\mkleeneopen{}[u  /  checked]\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)  THEN  ParallelLast)




Home Index