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)
6. f : a:A fp-> B[a] List
7. h : a:A fp-> B[a] List
8. g : a:A fp-> B[a] List
9. R : (V List) ⟶ V ⟶ 𝔹
10. fpf-single-valued(A;eq;x.B[x];V;g)
11. fpf-union-compatible(A;V;x.B[x];eq;R;f;g)
12. ∀x:A. ((↑x ∈ dom(h)) 
⇒ ((↑x ∈ dom(g)) c∧ h(x) ⊆ g(x)))
13. x : A
14. ↑x ∈ dom(h)
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
{ xxx(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)⋅)xxx }
Latex:
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)
6.  f  :  a:A  fp->  B[a]  List
7.  h  :  a:A  fp->  B[a]  List
8.  g  :  a:A  fp->  B[a]  List
9.  R  :  (V  List)  {}\mrightarrow{}  V  {}\mrightarrow{}  \mBbbB{}
10.  fpf-single-valued(A;eq;x.B[x];V;g)
11.  fpf-union-compatible(A;V;x.B[x];eq;R;f;g)
12.  \mforall{}x:A.  ((\muparrow{}x  \mmember{}  dom(h))  {}\mRightarrow{}  ((\muparrow{}x  \mmember{}  dom(g))  c\mwedge{}  h(x)  \msubseteq{}  g(x)))
13.  x  :  A
14.  \muparrow{}x  \mmember{}  dom(h)
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
Latex:
xxx(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{})xxx
Home
Index