seqPerm2.key

Taclets

No choice condition specified

schiffl_lemma_2

\lemma schiffl_lemma_2 { \schemaVar \term Seq s , t ; \schemaVar \variable Seq r ; \schemaVar \variable int x , y , iv ; \find ( seqPerm ( s , t )==> ) \varcond \add ( \forall x ; \forall y ; ( any :: seqGet ( s , x )= any :: seqGet ( t , x )& any :: seqGet ( s , y )= any :: seqGet ( t , y )& 0 <= x & x < seqLen ( s )& 0 <= y & y < seqLen ( s )-> \exists r ; ( seqLen ( r )= seqLen ( s )& seqNPerm ( r )& ( \forall iv ; ( 0 <= iv & iv < seqLen ( s )-> any :: seqGet ( s , iv )= any :: seqGet ( t , int :: seqGet ( r , iv ))))& int :: seqGet ( r , x )= x & int :: seqGet ( r , y )= y ))==> ) };defined in: seqPerm2.key Line: 16 Offset :4

schiffl_thm_1

\lemma schiffl_thm_1 { \schemaVar \term Seq s , t ; \schemaVar \term int x , y ; \schemaVar \term any a , b ; \schemaVar \variables int idx ; \find ( seqPerm ( s , t )==> ) \varcond \add ( seqPerm ( s , t )& any :: seqGet ( s , x )= any :: seqGet ( t , x )& any :: seqGet ( s , y )= any :: seqGet ( t , y )& 0 <= x & x < seqLen ( s )& 0 <= y & y < seqLen ( s )-> seqPerm ( seqDef { idx ; } ( 0 , s . length , \if ( idx = y )\then ( b )\else ( \if ( idx = x )\then ( a )\else ( any :: seqGet ( s , idx )))), seqDef { idx ; } ( 0 , s . length , \if ( idx = y )\then ( b )\else ( \if ( idx = x )\then ( a )\else ( any :: seqGet ( t , idx )))))==> ) };defined in: seqPerm2.key Line: 40 Offset :4