Subperm for index lists. #
def
IndexNotation.IndexList.Subperm
{X : Type}
(l : IndexNotation.IndexList X)
(l2 : IndexNotation.IndexList X)
:
An IndexList l
is a subpermutation of l2
if there are no duals in l
, and
every element of l
has a unique dual in l2
.
Instances For
theorem
IndexNotation.IndexList.Subperm.iff_countId_fin
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
{l2 : IndexNotation.IndexList X}
:
theorem
IndexNotation.IndexList.Subperm.iff_countId
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
{l2 : IndexNotation.IndexList X}
:
theorem
IndexNotation.IndexList.Subperm.trans
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
{l2 : IndexNotation.IndexList X}
{l3 : IndexNotation.IndexList X}
(h1 : l.Subperm l2)
(h2 : l2.Subperm l3)
:
l.Subperm l3
theorem
IndexNotation.IndexList.Subperm.fst_eq_contrIndexList
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
{l2 : IndexNotation.IndexList X}
(h : l.Subperm l2)
:
l.contrIndexList = l
theorem
IndexNotation.IndexList.Subperm.symm
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
{l2 : IndexNotation.IndexList X}
(h : l.Subperm l2)
(hl : l.length = l2.length)
:
l2.Subperm l
theorem
IndexNotation.IndexList.Subperm.contr_refl
{X : Type}
[DecidableEq X]
{l : IndexNotation.IndexList X}
:
l.contrIndexList.Subperm l.contrIndexList