Citiți cu atenție sistemul de tipuri definit pentru expresii discutat la curs. Rulați din nou exemplele și demonstrațiile discutate.
Mai departe, pentru seria de exerciții propuse se consideră cunoscută următoarea sintaxa BNF a unui limbaj de expresii:
E ::= 'O' | 'S' E | 'isZero' E | 'T' | 'F' | 'ite' E E E
Cerință: Definiți aceasta sintaxă în Coq.
(1 punct) Definiți o semantică Small-Step pentru expresiile
E de mai sus.
(2 puncte) Scrieți (în ASCII) regulile de tipizare pentru expresiile de mai sus.
Exemplu:
.
TZero ------------
O : Nat
e : Nat
TSucc -------------
S e : Nat
Se acordă câte 0.5 puncte pentru fiecare regulă scrisă corect pentru celelalte construcții din
Erămase:isZero E,T,F,ite E E E.
E. Testați implementarea fără a folosi
eauto.Se acordă câte 1 punct pentru fiecare derivare corectă, doar în condițiile în care toate regulile sunt utilizate cel puțin o singură dată.
Coq Reference Manual: https://coq.inria.fr/distrib/current/refman/