Nuprl Lemma : fpf-union-compatible-property

∀[T,V:Type].
  ∀eq:EqDecider(T)
    ∀[X:T ─→ Type]
      ∀R:(V List) ─→ V ─→ 𝔹
        (∀A,B,C:t:T fp-> X[t] List.
           (fpf-union-compatible(T;V;t.X[t];eq;R;A;B)
           ⇒ fpf-union-compatible(T;V;t.X[t];eq;R;C;A)
           ⇒ fpf-union-compatible(T;V;t.X[t];eq;R;C;B)
           ⇒ fpf-union-compatible(T;V;t.X[t];eq;R;C;fpf-union-join(eq;R;A;B)))) supposing 
           ((∀L1,L2:V List. ∀x:V.  (↑(R (L1 @ L2) x)) supposing ((↑(R L2 x)) and (↑(R L1 x)))) and 
           (∀L1,L2:V List. ∀x:V.  (L1 ⊆ L2 ⇒ ↑(R L1 x) supposing ↑(R L2 x)))) 
      supposing ∀t:T. (X[t] ⊆r V)


Proof




Definitions occuring in Statement :  fpf-union-join: fpf-union-join(eq;R;f;g),  fpf-union-compatible: fpf-union-compatible(A;C;x.B[x];eq;R;f;g),  fpf: a:A fp-> B[a],  deq: EqDecider(T),  l_contains: A ⊆ B,  append: as @ bs,  list: T List,  assert: ↑b,  bool: 𝔹,  uimplies: b supposing a,  subtype_rel: A ⊆r B,  uall: ∀[x:A]. B[x],  so_apply: x[s],  all: ∀x:A. B[x],  implies: P ⇒ Q,  apply: f a,  function: x:A ─→ B[x],  universe: Type
Lemmas :  assert_witness,  assert_wf,  l_contains_wf,  list_wf,  append_wf,  fpf-union-join-dom,  subtype-fpf2,  top_wf,  subtype_top,  or_wf,  l_member_wf,  fpf-ap_wf,  fpf-union-join_wf,  subtype_rel_dep_function,  bool_wf,  subtype_rel_list,  subtype_rel_self,  not_wf,  fpf-dom_wf,  fpf-union-compatible_wf,  fpf_wf,  all_wf,  isect_wf,  subtype_rel_wf,  deq_wf,  eqtt_to_assert,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  subtype_base_sq,  bool_subtype_base,  assert-bnot,  fpf-union-join-ap,  member_append,  filter_wf5,  set_wf,  member_filter,  subtype_rel_transitivity,  and_wf,  assert_elim,  decidable__assert,  l_all_iff
\mforall{}[T,V:Type].
    \mforall{}eq:EqDecider(T)
        \mforall{}[X:T  {}\mrightarrow{}  Type]
            \mforall{}R:(V  List)  {}\mrightarrow{}  V  {}\mrightarrow{}  \mBbbB{}
                (\mforall{}A,B,C:t:T  fp->  X[t]  List.
                      (fpf-union-compatible(T;V;t.X[t];eq;R;A;B)
                      {}\mRightarrow{}  fpf-union-compatible(T;V;t.X[t];eq;R;C;A)
                      {}\mRightarrow{}  fpf-union-compatible(T;V;t.X[t];eq;R;C;B)
                      {}\mRightarrow{}  fpf-union-compatible(T;V;t.X[t];eq;R;C;fpf-union-join(eq;R;A;B))))  supposing 
                      ((\mforall{}L1,L2:V  List.  \mforall{}x:V.    (\muparrow{}(R  (L1  @  L2)  x))  supposing  ((\muparrow{}(R  L2  x))  and  (\muparrow{}(R  L1  x))))  and 
                      (\mforall{}L1,L2:V  List.  \mforall{}x:V.    (L1  \msubseteq{}  L2  {}\mRightarrow{}  \muparrow{}(R  L1  x)  supposing  \muparrow{}(R  L2  x)))) 
            supposing  \mforall{}t:T.  (X[t]  \msubseteq{}r  V)



Date html generated: 2015_07_17-AM-11_07_40
Last ObjectModification: 2015_01_28-AM-08_00_22

Home Index