regExAxioms.key

Taclets

Enabled under choices: Strings:on

equalRegEx

equalRegEx { \schemaVar \term RegEx rexp1 , rexp2 ; \schemaVar \variables Seq string ; \find ( rexp1 = rexp2 ) \varcond \replacewith ( \forall string ; ( match ( rexp1 , string )<-> match ( rexp2 , string ))) };defined in: regExAxioms.key Line: 7 Offset :4

repeatAxiom

repeatAxiom { \schemaVar \term RegEx rexp ; \schemaVar \term Seq string ; \schemaVar \term int nTimes ; \schemaVar \variables int endIdx ; \find ( match ( repeat ( rexp , nTimes ), string )) \varcond \replacewith ( \if ( nTimes < 0 )\then ( false )\else ( \if ( nTimes = 0 )\then ( string = empty )\else ( \exists endIdx ; ( endIdx >= 0 & endIdx <= seqLen ( string )& match ( rexp , seqSub ( string , 0 , endIdx ))& match ( repeat ( rexp , nTimes - 1 ), seqSub ( string , endIdx , seqLen ( string ))))))) };defined in: regExAxioms.key Line: 17 Offset :4

optAxiom

optAxiom { \schemaVar \term RegEx rexp ; \schemaVar \term Seq string ; \find ( match ( opt ( rexp ), string )) \replacewith ( match ( repeat ( rexp , 0 ), string )| match ( rexp , string )) \heuristics (simplify ) };defined in: regExAxioms.key Line: 46 Offset :4

altAxiom

altAxiom { \schemaVar \term RegEx rexp1 , rexp2 ; \schemaVar \term Seq string ; \find ( match ( alt ( rexp1 , rexp2 ), string )) \replacewith ( match ( rexp1 , string )| match ( rexp2 , string )) \heuristics (simplify ) };defined in: regExAxioms.key Line: 56 Offset :4

regExConcatAxiom

regExConcatAxiom { \schemaVar \term RegEx rexp1 , rexp2 ; \schemaVar \term Seq string ; \schemaVar \variables int endIdx ; \find ( match ( regExConcat ( rexp1 , rexp2 ), string )) \varcond \replacewith ( \exists endIdx ; ( endIdx >= 0 & endIdx <= seqLen ( string )& match ( rexp1 , seqSub ( string , 0 , endIdx ))& match ( rexp2 , seqSub ( string , endIdx , seqLen ( string ))))) \heuristics (simplify ) };defined in: regExAxioms.key Line: 66 Offset :4

regExAxiom

regExAxiom { \schemaVar \term Seq stringAsPattern , string ; \find ( match ( regEx ( stringAsPattern ), string )) \replacewith ( string = stringAsPattern ) \heuristics (concrete ) };defined in: regExAxioms.key Line: 85 Offset :4

repeatStarAxiom

repeatStarAxiom { \schemaVar \term RegEx rexp ; \schemaVar \term Seq string ; \schemaVar \variables int nTimes ; \find ( match ( repeatStar ( rexp ), string )) \varcond \replacewith ( \exists nTimes ; ( nTimes >= 0 & match ( repeat ( rexp , nTimes ), string ))) \heuristics (simplify ) };defined in: regExAxioms.key Line: 95 Offset :4

repeatPlusAxiom

repeatPlusAxiom { \schemaVar \term RegEx rexp ; \schemaVar \term Seq string ; \schemaVar \variables int nTimes ; \find ( match ( repeatPlus ( rexp ), string )) \varcond \replacewith ( \exists nTimes ; ( nTimes >= 1 & match ( repeat ( rexp , nTimes ), string ))) \heuristics (simplify ) };defined in: regExAxioms.key Line: 107 Offset :4