src/Tools/induct.ML
changeset 24920 2a45e400fdad
parent 24867 e5b55d7be9bb
child 25109 dfa8001e6264
equal deleted inserted replaced
24919:ad3a8569759c 24920:2a45e400fdad
   716   ((Scan.lift (Args.name --| (Args.$$$ "\\<equiv>" || Args.$$$ "==")) >> SOME)
   716   ((Scan.lift (Args.name --| (Args.$$$ "\\<equiv>" || Args.$$$ "==")) >> SOME)
   717       -- Args.term) >> SOME ||
   717       -- Args.term) >> SOME ||
   718     inst >> Option.map (pair NONE);
   718     inst >> Option.map (pair NONE);
   719 
   719 
   720 val free = Scan.state -- Args.term >> (fn (_, Free v) => v | (context, t) =>
   720 val free = Scan.state -- Args.term >> (fn (_, Free v) => v | (context, t) =>
   721   error ("Bad free variable: " ^ ProofContext.string_of_term (Context.proof_of context) t));
   721   error ("Bad free variable: " ^ Syntax.string_of_term (Context.proof_of context) t));
   722 
   722 
   723 fun unless_more_args scan = Scan.unless (Scan.lift
   723 fun unless_more_args scan = Scan.unless (Scan.lift
   724   ((Args.$$$ arbitraryN || Args.$$$ takingN || Args.$$$ typeN ||
   724   ((Args.$$$ arbitraryN || Args.$$$ takingN || Args.$$$ typeN ||
   725     Args.$$$ predN || Args.$$$ setN || Args.$$$ ruleN) -- Args.colon)) scan;
   725     Args.$$$ predN || Args.$$$ setN || Args.$$$ ruleN) -- Args.colon)) scan;
   726 
   726