Nuprl Lemma : permutation-strong-subtype

[A,B:Type].
  ∀L1:B List. ∀L2:A List.  (permutation(A;L1;L2)  {(L2 ∈ List) ∧ permutation(B;L1;L2)}) 
  supposing strong-subtype(B;A)


Proof




Definitions occuring in Statement :  permutation: permutation(T;L1;L2) list: List strong-subtype: strong-subtype(A;B) uimplies: supposing a uall: [x:A]. B[x] guard: {T} all: x:A. B[x] implies:  Q and: P ∧ Q member: t ∈ T universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] uimplies: supposing a member: t ∈ T implies:  Q all: x:A. B[x] subtype_rel: A ⊆B strong-subtype: strong-subtype(A;B) cand: c∧ B guard: {T} prop: iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q l_member: (x ∈ l) exists: x:A. B[x] nat: ge: i ≥  decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) false: False not: ¬A top: Top permutation: permutation(T;L1;L2)
Lemmas referenced :  strong-subtype_witness member-permutation subtype_rel_list permutation_wf list_wf strong-subtype_wf strong-subtype-implies list-subtype l_member_wf select_wf nat_properties decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf inject_wf int_seg_wf length_wf equal_wf permute_list_wf strong-subtype-list
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality independent_functionElimination hypothesis rename lambdaFormation because_Cache dependent_functionElimination applyEquality independent_isectElimination productElimination sqequalRule cumulativity universeEquality equalityTransitivity equalitySymmetry setEquality lambdaEquality setElimination natural_numberEquality unionElimination dependent_pairFormation int_eqEquality intEquality isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll promote_hyp productEquality functionExtensionality

Latex:
\mforall{}[A,B:Type].
    \mforall{}L1:B  List.  \mforall{}L2:A  List.    (permutation(A;L1;L2)  {}\mRightarrow{}  \{(L2  \mmember{}  B  List)  \mwedge{}  permutation(B;L1;L2)\}) 
    supposing  strong-subtype(B;A)



Date html generated: 2017_04_17-AM-08_13_34
Last ObjectModification: 2017_02_27-PM-04_39_13

Theory : list_1


Home Index