{ [T:Type]
    g1,g2:LabeledGraph(T). a,b:lg-size(g1) + lg-size(g2).
      (lg-edge(lg-append(g1;g2);a;b)
       ((a < lg-size(g1))  (b < lg-size(g1))  lg-edge(g1;a;b))
           ((lg-size(g1)  a)
             (lg-size(g1)  b)
             lg-edge(g2;a - lg-size(g1);b - lg-size(g1)))) }

{ Proof }



Definitions occuring in Statement :  lg-edge: lg-edge(g;a;b),  lg-append: lg-append(g1;g2),  lg-size: lg-size(g),  labeled-graph: LabeledGraph(T),  int_seg: {i..j},  uall: [x:A]. B[x],  le: A  B,  all: x:A. B[x],  iff: P  Q,  or: P  Q,  and: P  Q,  less_than: a < b,  subtract: n - m,  add: n + m,  natural_number: $n,  universe: Type
Definitions :  uall: [x:A]. B[x],  all: x:A. B[x],  lg-edge: lg-edge(g;a;b),  lg-append: lg-append(g1;g2),  lg-in-edges: lg-in-edges(g;x),  ifthenelse: if b then t else f fi ,  top: Top,  nat: ,  member: t  T,  prop: ,  implies: P  Q,  btrue: tt,  bfalse: ff,  le: A  B,  not: A,  false: False,  iff: P  Q,  pi1: fst(t),  pi2: snd(t),  or: P  Q,  and: P  Q,  rev_implies: P  Q,  cand: A c B,  guard: {T},  subtype: S  T,  spreadn: spread3,  exists: x:A. B[x],  int_seg: {i..j},  lelt: i  j < k,  l_member: (x  l),  labeled-graph: LabeledGraph(T),  bool: ,  unit: Unit,  uimplies: b supposing a,  decidable: Dec(P),  sq_type: SQType(T),  lg-size: lg-size(g),  it:
Lemmas :  select-append,  map-is-top-list,  le_wf,  lt_int_wf,  bool_wf,  iff_weakening_uiff,  uiff_transitivity,  assert_wf,  eqtt_to_assert,  assert_of_lt_int,  le_int_wf,  bnot_wf,  eqff_to_assert,  assert_functionality_wrt_uiff,  bnot_of_lt_int,  assert_of_le_int,  select-map,  int_seg_wf,  lg-size_wf,  nat_wf,  labeled-graph_wf,  select_wf,  decidable__cand,  l_member_wf,  decidable__lt,  decidable__l_member,  decidable__equal_int,  pi1_wf_top,  subtype_base_sq,  int_subtype_base,  non_neg_length,  length_wf_nat,  top_wf,  map_wf,  iff_functionality_wrt_iff,  member_map,  l_member_subtype,  length_wf1

\mforall{}[T:Type]
    \mforall{}g1,g2:LabeledGraph(T).  \mforall{}a,b:\mBbbN{}lg-size(g1)  +  lg-size(g2).
        (lg-edge(lg-append(g1;g2);a;b)
        \mLeftarrow{}{}\mRightarrow{}  ((a  <  lg-size(g1))  \mwedge{}  (b  <  lg-size(g1))  \mwedge{}  lg-edge(g1;a;b))
                \mvee{}  ((lg-size(g1)  \mleq{}  a)  \mwedge{}  (lg-size(g1)  \mleq{}  b)  \mwedge{}  lg-edge(g2;a  -  lg-size(g1);b  -  lg-size(g1))))


Date html generated: 2011_08_16-PM-06_40_10
Last ObjectModification: 2011_06_20-AM-01_59_06

Home Index