fact: Definition transfer_parser {Char G} {HSLM1 HSLM2 HSL1 HSL2} (old : @Parser Char G HSLM1 HSL1) (make_string : @String Char HSLM2 -> @String Char HSLM1) (new_has_parse : @String Char HSLM2 -> _) (new_parse : @String Char HSLM2 -> _) (H_has_parse : forall s, new_has_parse s = has_parse old (make_string s)) (H_parse : forall s, new_parse s = parse old (make_string s)) (R : @String Char HSLM1 -> @String Char HSLM2 -> Prop) (R_make : forall str, R (make_string str) str) (R_respectful : transfer_respectful R) (R_flip_respectful : transfer_respectful (Basics.flip R)) : @Parser Char G HSLM2 HSL2.
imports: Fiat.Parsers.GenericRecognizerEquality Fiat.Parsers.ParserInterface Fiat.Parsers.BaseTypes Fiat.Parsers.CorrectnessBaseTypes Fiat.Parsers.RecognizerPreOptimized Fiat.Parsers.BooleanRecognizerOptimizedReflective Fiat.Parsers.BooleanRecognizerOptimizedReflectiveCorrectness Fiat.Parsers.ParserInterfaceReflective Fiat.Parsers.BooleanRecognizerEquality Fiat.Parsers.ParserImplementation Fiat.Parsers.ContextFreeGrammar.PreNotations Fiat.Parsers.ContextFreeGrammar.Transfer Fiat.Parsers.ContextFreeGrammar.SimpleTransfer Fiat.Parsers.ContextFreeGrammar.ValidReflective Fiat.Parsers.StringLike.Core