Elimination des coupures ´
Une coupure, qu’es aqu`o ?
Γ`A,∆ Γ0,A`∆0 Γ,Γ0 `∆,∆0
Un bonhomme qui arrive du n´eant est parachut´e dans notre arbre de preuve.
Pas possible d’automatiser ¸ca. . . :(
Est-ce qu’on peut trouver une m´ethode pour passer d’un arbre avec coupures `a un arbre sans coupure ?
Une coupure, qu’es aqu`o ?
Γ`A,∆ Γ0,A`∆0 Γ,Γ0 `∆,∆0
Un bonhomme qui arrive du n´eant est parachut´e dans notre arbre de preuve.
Pas possible d’automatiser ¸ca. . . :(
Est-ce qu’on peut trouver une m´ethode pour passer d’un arbre avec coupures `a un arbre sans coupure ?
Une coupure, qu’es aqu`o ?
Γ`A,∆ Γ0,A`∆0 Γ,Γ0 `∆,∆0
Un bonhomme qui arrive du n´eant est parachut´e dans notre arbre de preuve.
Pas possible d’automatiser ¸ca. . . :(
Est-ce qu’on peut trouver une m´ethode pour passer d’un arbre avec coupures `a un arbre sans coupure ?
Une coupure, qu’es aqu`o ?
Γ`A,∆ Γ0,A`∆0 Γ,Γ0 `∆,∆0
Un bonhomme qui arrive du n´eant est parachut´e dans notre arbre de preuve.
Pas possible d’automatiser ¸ca. . . :(
Est-ce qu’on peut trouver une m´ethode pour passer d’un arbre avec coupures `a un arbre sans coupure ?
Calcul des s´equents classique
Th´eor`eme d’´elimination des coupures (Gentzen)
Th´eor`eme d’´elimination des coupures (Gentzen)
Toute d´emonstration en calcul des s´equents peut ˆetre transform´ee en une d´emonstration de mˆeme conclusion, mais qui n’utilise pas la r`egle de la coupure.
Et en logique lin´eaire ?
Calcul des s´equents classique
Th´eor`eme d’´elimination des coupures (Gentzen)
Th´eor`eme d’´elimination des coupures (Gentzen)
Toute d´emonstration en calcul des s´equents peut ˆetre transform´ee en une d´emonstration de mˆeme conclusion, mais qui n’utilise pas la r`egle de la coupure.
Et en logique lin´eaire ?
Degr´e δ(A) d’une formule A
δ(A) = 1 si Aest atomique
δ(A⊗B) =δ(A`B) =δ(A(B) =max{δ(A), δ(B)}+ 1 δ(!A) =δ(?A) =δ(A) + 1
Degr´e d’une coupure.
Degr´e d’une preuve : sup des degr´es des coupures de la preuve. Exemple
Γ`A,∆
Γ1,A`∆1
r0 Γ0,A`∆0 Γ,Γ0 `∆,∆0
⇒
Γ`A,∆ Γ1,A`∆1
Γ1,Γ`∆1,∆ r0 Γ0,Γ`∆0,∆
Degr´e δ(A) d’une formule A δ(A) = 1 si Aest atomique
δ(A⊗B) =δ(A`B) =δ(A(B) =max{δ(A), δ(B)}+ 1 δ(!A) =δ(?A) =δ(A) + 1
Degr´e d’une coupure.
Degr´e d’une preuve : sup des degr´es des coupures de la preuve. Exemple
Γ`A,∆
Γ1,A`∆1
r0 Γ0,A`∆0 Γ,Γ0 `∆,∆0
⇒
Γ`A,∆ Γ1,A`∆1
Γ1,Γ`∆1,∆ r0 Γ0,Γ`∆0,∆
Degr´e δ(A) d’une formule A δ(A) = 1 si Aest atomique
δ(A⊗B) =δ(A`B) =δ(A(B) =max{δ(A), δ(B)}+ 1 δ(!A) =δ(?A) =δ(A) + 1
Degr´e d’une coupure.
Degr´e d’une preuve : sup des degr´es des coupures de la preuve. Exemple
Γ`A,∆
Γ1,A`∆1
r0 Γ0,A`∆0 Γ,Γ0 `∆,∆0
⇒
Γ`A,∆ Γ1,A`∆1
Γ1,Γ`∆1,∆ r0 Γ0,Γ`∆0,∆
Degr´e δ(A) d’une formule A δ(A) = 1 si Aest atomique
δ(A⊗B) =δ(A`B) =δ(A(B) =max{δ(A), δ(B)}+ 1 δ(!A) =δ(?A) =δ(A) + 1
Degr´e d’une coupure.
Degr´e d’une preuve : sup des degr´es des coupures de la preuve.
Exemple
Γ`A,∆
Γ1,A`∆1
r0 Γ0,A`∆0 Γ,Γ0 `∆,∆0
⇒
Γ`A,∆ Γ1,A`∆1
Γ1,Γ`∆1,∆ r0 Γ0,Γ`∆0,∆
Degr´e δ(A) d’une formule A δ(A) = 1 si Aest atomique
δ(A⊗B) =δ(A`B) =δ(A(B) =max{δ(A), δ(B)}+ 1 δ(!A) =δ(?A) =δ(A) + 1
Degr´e d’une coupure.
Degr´e d’une preuve : sup des degr´es des coupures de la preuve.
Exemple
Γ`A,∆
Γ1,A`∆1
r0 Γ0,A`∆0 Γ,Γ0 `∆,∆0
⇒
Γ`A,∆ Γ1,A`∆1
Γ1,Γ`∆1,∆ r0 Γ0,Γ`∆0,∆
Pseudo-´etape-cl´e (“pseudo-key-case”)
(´Etape-cl´e : r´eduit le nombre de coupures.)
2 pseudo-´etapes-cl´es : ne r´eduit pas forc´ement le nombre de coupures
(!R,CL) et (CR,?L)
!Γ`A,?∆
!R
!Γ`!A,?∆
!Γ,A`?∆
?L
!Γ,?A`?∆
Γ,!A,!A`∆ CL
Γ,!A`∆
!Γ`?A,?A,∆ CR
Γ`?A,∆
Hauteurh(τ) d’une preuveτ
τ n’a pas de pr´emisse :h(τ) = 1
τ est obtenue depuis la preuveπ en appliquant une r`egle avec une pr´emisse : h(τ) =h(τ) + 1
τ est obtenue depuis les preuvesπ et π0 en appliquant une r`egle avec 2 pr´emisses :h(τ) = max{h(π),h(π0)}+ 1
Lemme 1
!An= liste den occurrences de la formule !A.
Soitτ une preuve de la forme : ...π
!Γ`A,?∆
!Γ`!A,?∆
...π0 Γ0,!An`∆0
Γ0,!A`∆0 Γ0,!Γ`∆0,?∆
avecδ(π), δ(π0)< δ(τ)
On peut construire une preuve τ0 de Γ0,!Γ`∆0,?∆ telle que δ(τ0)< δ(τ).
D´emonstration.
Induction surh(π0).r0 = derni`ere r`egle utilis´ee dansπ0 Cas possibles :
r0 est un axiome : on applique !R `aπ
r0 est une instance de !L qui fait apparaˆıtre un !A: n= 1 : ´etape-cl´e (!R,!L)
n>1 :
!Γ`A,?∆
!Γ`!A,?∆
Γ0,!An−1,A`∆0 Γ0,!An−1,!A`∆0
Γ0,!A`∆0 Γ0,!Γ`∆0,?∆
!Γ`A,?∆
!Γ`A,?∆
!Γ`!A,?∆
Γ0,!An−1,A`∆0 Γ0,!A,A`∆0 Γ0,!Γ,A`∆0,?∆
Γ0,!Γ,!Γ`∆0,?∆,?∆
Γ0,!Γ`∆0,?∆
D´emonstration.
r0 est une instance de WL qui fait apparaˆıtre un !A : Γ`∆ WL
Γ,!A`∆ . . .
r0 est une instance de CL qui fait apparaˆıtre un !A :. . . r0 ne fait pas apparaˆıtre de !A:. . .
Lemme 2
Soitτ une preuve de la forme : ...π Γ0,A`∆0
...π0 Γ`A,∆ Γ0,Γ`∆0,∆ avecδ(π), δ(π0)< δ(τ)
On peut construire une preuve τ0 du mˆeme s´equent telle que δ(τ0)< δ(τ).
D´emonstration.
Induction surh(π) +h(π0)
r (resp.r0) = derni`ere r`egle utilis´ee dans π (resp.π0) r est une instance d’un axiome : on utiliseπ0 r0 est une instance d’un axiome : on utiliseπ . . .
Lemme 3
Soitτ une preuve de Γ`∆
On peut construire une preuve τ0 du mˆeme s´equent telle que δ(τ0)< δ(τ).
D´emonstration.
Induction surh(τ).
derni`ere r`egle utilis´ee dansτ 6= coupure avec le mˆeme degr´e que τ : hypoth`ese d’induction sur les sous-preuves imm´ediates de τ finito.
sinon : hypoth`ese d’induction sur les sous-preuves imm´ediates de τ. On obtientτ0 :
...π Γ0,A`∆0
...π0 Γ00,A`∆00 Γ00,Γ0 `∆00,∆0 avec δ(π), δ(π0)≤δ(τ0) lemme 2
Hauptsatz
´Etant donn´ee une preuve d’un s´equent, on peut construire une autre preuve sans coupure du mˆeme s´equent.
D´emonstration.
It´erations du lemme 3
On a un algo pour ´eliminer les coupures en LL.
On obtient desλ-termes plus courts.
Et en Coq, ¸ca marche comment ?Assert,. . .
On a un algo pour ´eliminer les coupures en LL.
On obtient desλ-termes plus courts.
Et en Coq, ¸ca marche comment ?Assert,. . .
On a un algo pour ´eliminer les coupures en LL.
On obtient desλ-termes plus courts.
Et en Coq, ¸ca marche comment ?Assert,. . .