@ FII

Laborator: PF


Exerciții de antrenament:

Exerciții propuse:

Definiți un interpretor pentru λ-calcul în Coq și testați implementarea pe câteva exemple interesante.

  1. (0.5 puncte) Definiți sintaxa pentru λ-calcul.
  2. (1 punct) Definiți cele două tipuri de substituții (cea care nu evită capturarea și cea care evită capturarea).
  3. (1 punct) Definiți regula de β-reducere.
  4. (1 punct) Implementați strategia CBN și testați această strategie pe exemplele din curs.
  5. (1 punct) Implementați strategia CBV și testați această strategie pe exemplele din curs.
  6. (1 punct) Formulați și demonstrați o teoremă de confluență pentru lambda calcul (adică, demonstrați că dacă o λ-expresie e se reduce atât la e1 cât și la e2, atunci există e' astfel încât e1 și e2 se reduc la e').

Coq Reference Manual: https://coq.inria.fr/distrib/current/refman/