adapt Syntax der Eingabe to function trees authored by Edward Sabinus's avatar Edward Sabinus
...@@ -13,8 +13,11 @@ ADT ::= <name>? ...@@ -13,8 +13,11 @@ ADT ::= <name>?
<operation> ::= <operation_name> ’:’ <operation> ::= <operation_name> ’:’
(<sort> (’><’ <sort>)* ’->’)? <sort> (<sort> (’><’ <sort>)* ’->’)? <sort>
<vars> ::= <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)* <vars> ::= <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)*
<axioms> ::= ’axioms’ (<axiom_name> ’:’ <tree> ’=’ <tree>)+ <axioms> ::= ’axioms’ (<axiom_name> ’:’ <eq_s>)+
<tree> ::= <var> | (<operation_name> (’(’ <tree> (’,’ <tree>)* ’)’)?) <eq_s> ::= <classic_tree> '=' <classic_tree> (';' |':')? | <function_tree> '=' <function_tree> (';' |':')
<tree> ::= <classic_tree> <function_tree>
<classic_tree> ::= <var> | (<operation_name> (’(’ <classic_tree> (’,’ <classic_tree>)* ’)’)?)
<function_tree> ::= <var> | <operation_name> <function_tree>* | '(' <function_tree> ')'
``` ```
2. Aufgabenstellung 2. Aufgabenstellung
...@@ -24,7 +27,7 @@ Task ::= <task> <lemma_tasks?> <task_lemmata>? ...@@ -24,7 +27,7 @@ Task ::= <task> <lemma_tasks?> <task_lemmata>?
<task_ind_var>::= ’induction’ <var> <task_ind_var>::= ’induction’ <var>
<lemma_tasks> ::= ’proof lemmata’ (<lemma_name> ’:’ <eq> <task_ind_var>? (<task_pt> | <ind_pt>))+ <lemma_tasks> ::= ’proof lemmata’ (<lemma_name> ’:’ <eq> <task_ind_var>? (<task_pt> | <ind_pt>))+
<task_lemmata>::= ’lemmata’ (<lemma_name> ’:’ <eq>)+ <task_lemmata>::= ’lemmata’ (<lemma_name> ’:’ <eq>)+
<eq> ::= (<fixed> ’:’)? (<forall> ’:’)? <tree> ’=’ <tree> <eq> ::= (<fixed> ’:’)? (<forall> ’:’)? <eq_s>
<fixed> ::= ’fixed’ <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)* <fixed> ::= ’fixed’ <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)*
<forall> ::= ’forall’ <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)* <forall> ::= ’forall’ <var> ’:’ <sort> (’,’ <var> ’:’ <sort>)*
<task_pt> ::= ’maxpt’ <nat> ’minsteps’ <nat> ’maxsteps’ <nat> <task_pt> ::= ’maxpt’ <nat> ’minsteps’ <nat> ’maxsteps’ <nat>
... ...
......