Step
*
2
of Lemma
fpf-contains-union-join-right2
1. [A] : Type
2. [V] : Type
3. [B] : A ─→ Type
4. ∀a:A. (B[a] ⊆r V)
5. eq : EqDecider(A)@i
6. f : a:A fp-> B[a] List@i
7. h : a:A fp-> B[a] List@i
8. g : a:A fp-> B[a] List@i
9. R : (V List) ─→ V ─→ 𝔹@i
10. fpf-single-valued(A;eq;x.B[x];V;g)
11. fpf-union-compatible(A;V;x.B[x];eq;R;f;g)@i
12. ∀x:A. ((↑x ∈ dom(h))
⇒ ((↑x ∈ dom(g)) c∧ h(x) ⊆ g(x)))@i
13. x : A@i
14. ↑x ∈ dom(h)@i
15. (↑x ∈ dom(g)) c∧ h(x) ⊆ g(x)
16. ↑x ∈ dom(fpf-union-join(eq;R;f;g))
⊢ h(x) ⊆ fpf-union-join(eq;R;f;g)(x)
BY
{ (D -2
THEN (InstLemma `fpf-union-contains2` [⌈A⌉;⌈V⌉;⌈B⌉;⌈eq⌉;⌈f⌉;⌈g⌉;⌈x⌉;⌈R⌉]⋅ THENA Auto)
THEN RepeatFor 3 (ParallelOp (-3))
THEN (RWO "fpf-union-join-ap" 0⋅ THENA Auto)
THEN Unfold `l_contains` (-3)
THEN RWO "l_all_iff" (-3)
THEN Auto
THEN Try ((BackThruSomeHyp THEN Unfold `fpf-cap` 0 THEN SplitOnConclITE THEN Auto))
THEN (All (Unfold `so_apply`) THEN DoSubsume THEN Auto)⋅) }
Latex:
1. [A] : Type
2. [V] : Type
3. [B] : A {}\mrightarrow{} Type
4. \mforall{}a:A. (B[a] \msubseteq{}r V)
5. eq : EqDecider(A)@i
6. f : a:A fp-> B[a] List@i
7. h : a:A fp-> B[a] List@i
8. g : a:A fp-> B[a] List@i
9. R : (V List) {}\mrightarrow{} V {}\mrightarrow{} \mBbbB{}@i
10. fpf-single-valued(A;eq;x.B[x];V;g)
11. fpf-union-compatible(A;V;x.B[x];eq;R;f;g)@i
12. \mforall{}x:A. ((\muparrow{}x \mmember{} dom(h)) {}\mRightarrow{} ((\muparrow{}x \mmember{} dom(g)) c\mwedge{} h(x) \msubseteq{} g(x)))@i
13. x : A@i
14. \muparrow{}x \mmember{} dom(h)@i
15. (\muparrow{}x \mmember{} dom(g)) c\mwedge{} h(x) \msubseteq{} g(x)
16. \muparrow{}x \mmember{} dom(fpf-union-join(eq;R;f;g))
\mvdash{} h(x) \msubseteq{} fpf-union-join(eq;R;f;g)(x)
By
(D -2
THEN (InstLemma `fpf-union-contains2` [\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}V\mkleeneclose{};\mkleeneopen{}B\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}g\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}R\mkleeneclose{}]\mcdot{} THENA Auto)
THEN RepeatFor 3 (ParallelOp (-3))
THEN (RWO "fpf-union-join-ap" 0\mcdot{} THENA Auto)
THEN Unfold `l\_contains` (-3)
THEN RWO "l\_all\_iff" (-3)
THEN Auto
THEN Try ((BackThruSomeHyp THEN Unfold `fpf-cap` 0 THEN SplitOnConclITE THEN Auto))
THEN (All (Unfold `so\_apply`) THEN DoSubsume THEN Auto)\mcdot{})
Home
Index