Full Reduction in Open Strict Calculus
´ Alvaro Garc´ ıa IMDEA Software 2011
1 / 1
Full Reduction in Open Strict Calculus Alvaro Garc a IMDEA - - PowerPoint PPT Presentation
Full Reduction in Open Strict Calculus Alvaro Garc a IMDEA Software 2011 1 / 1 Motivation Typing rules for dependent type systems: = t : (cons) t : 2 / 1 Motivation Typing rules for
1 / 1
◮ Typing rules for dependent type systems:
2 / 1
◮ Typing rules for dependent type systems:
◮ Usually by-value (strict) semantics.
2 / 1
◮ Full normal forms (NF).
3 / 1
◮ Full normal forms (NF). ◮ Free variables.
3 / 1
◮ Full normal forms (NF). ◮ Free variables. ◮ By-value semantics.
3 / 1
4 / 1
4 / 1
4 / 1
4 / 1
5 / 1
5 / 1
5 / 1
5 / 1
◮ Values:
6 / 1
◮ Values:
◮ Weak normal forms in λV :
6 / 1
◮ Values:
◮ Weak normal forms in λV :
6 / 1
◮ Normal forms in λV :
∗
∗
7 / 1
◮ Normal forms in λV :
∗
∗
7 / 1
8 / 1
8 / 1
8 / 1
8 / 1
9 / 1
cbv
9 / 1
cbv
9 / 1
◮ Restricting NF’s as arguments breaks Church-Rosser:
10 / 1
11 / 1
cbn
cbn
cbn
cbn
cbn
cbn
cbn
11 / 1
cbn
nor
cbn
nor
nor
cbn
cbn
cbn
cbn
nor
nor
cbn
cbn
cbn
nor
nor
11 / 1
cbn
nor
cbn
nor
nor
cbn
cbn
cbn
cbn
nor
nor
cbn
cbn
cbn
nor
nor
11 / 1
12 / 1
la
12 / 1
la
ar1
12 / 1
la
ar1
ar2
12 / 1
13 / 1
AOR CBV
AOR CBV
1 fullness ar1
1 strictness ar2
1 non-headness
13 / 1
AOR CBV
1 fullness ar1
1 strictness ar2
1 non-headness
sub
sub
sub
sub
sub
sub
sub
sub
sub
sub
14 / 1
sub
hyb
sub
sub
hyb
hyb
sub
sub
sub
sub
sub
hyb
hyb
hyb
sub
sub
sub
sub
hyb
hyb
14 / 1
AOR CBV
15 / 1
AOR CBV
15 / 1
AOR CBV
15 / 1
AOR CBV
15 / 1
AOR CBV
16 / 1
AOR CBV
16 / 1
AOR CBV
16 / 1
AOR CBV
ha
16 / 1
AOR CBV
ha
ha
16 / 1
AOR CBV
ha
ha
16 / 1
AOR CBV
ha
ha
ha
16 / 1
AOR CBV
ha
ha
ha
ha
16 / 1
sub
sub
sub
sub
sub
sub
sub
sub
sub
sub
17 / 1
sub
hyb
sub
sub
hyb
hyb
sub
sub
sub
sub
sub
sub
hyb
hyb
sub
sub
sub
sub
hyb
hyb
17 / 1
sub
hyb
sub
sub
hyb
hyb
sub
sub
sub
sub
sub
sub
hyb
hyb
sub
sub
sub
sub
hyb
hyb
17 / 1
◮ Cbv is not correct with respect to λV :
18 / 1
◮ Cbv is not correct with respect to λV :
cbv
18 / 1
◮ Cbv is not correct with respect to λV :
cbv
18 / 1
◮ Cbv is not correct with respect to λV :
cbv
◮ Do we really need open terms?
18 / 1
◮ Cbv is not correct with respect to λV :
cbv
◮ Do we really need open terms?
◮ Open terms may occur as subterms of well-formed (closed) terms
18 / 1
19 / 1
la
19 / 1
la
ar1
19 / 1
la
ar1
ar1
19 / 1
la
ar1
ar1
ar2
19 / 1
20 / 1
snor
21 / 1
snor
snor
snor
21 / 1
snor
snor
snor
cbvO
cbvO
snor
snor
21 / 1
snor
snor
snor
cbvO
cbvO
snor
snor
cbvO
cbvO
snor
21 / 1
snor
snor
snor
cbvO
cbvO
snor
snor
cbvO
cbvO
snor
cbvO
snor
snor
21 / 1
◮ Plotkin 1974: accounts for standardisation and confluence, but not
22 / 1
◮ Plotkin 1974: accounts for standardisation and confluence, but not
◮ Sestoft 2002: accounts for full reduction, but doesn’t account for
22 / 1
◮ Plotkin 1974: accounts for standardisation and confluence, but not
◮ Sestoft 2002: accounts for full reduction, but doesn’t account for
◮ Leroy and Gregoire 2002: accounts for full reduction and
22 / 1
◮ Strict normal order: accounts for full reduction, standardisation and
23 / 1
◮ Strict normal order: accounts for full reduction, standardisation and
◮ Beta Cube and hybridisation to articulate strategies space.
23 / 1
◮ Strict normal order: accounts for full reduction, standardisation and
◮ Beta Cube and hybridisation to articulate strategies space. ◮ Plotkin’s meta-theory leads the improvements in cube and
23 / 1