Nuprl Lemma : permutation-strong-subtype
∀[A,B:Type].
∀L1:B List. ∀L2:A List. (permutation(A;L1;L2)
⇒ {(L2 ∈ B List) ∧ permutation(B;L1;L2)})
supposing strong-subtype(B;A)
Proof
Definitions occuring in Statement :
permutation: permutation(T;L1;L2)
,
list: T List
,
strong-subtype: strong-subtype(A;B)
,
uimplies: b supposing a
,
uall: ∀[x:A]. B[x]
,
guard: {T}
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
and: P ∧ Q
,
member: t ∈ T
,
universe: Type
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
uimplies: b supposing a
,
member: t ∈ T
,
implies: P
⇒ Q
,
all: ∀x:A. B[x]
,
subtype_rel: A ⊆r B
,
strong-subtype: strong-subtype(A;B)
,
cand: A c∧ B
,
guard: {T}
,
prop: ℙ
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
rev_implies: P
⇐ Q
,
l_member: (x ∈ l)
,
exists: ∃x:A. B[x]
,
nat: ℕ
,
ge: i ≥ j
,
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