HAL Id: hal-00198805
https://hal.archives-ouvertes.fr/hal-00198805v2
Preprint submitted on 19 Apr 2011
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Logic Programming Revisited
Christophe Fouqueré, Virgile Mogbil
To cite this version:
Christophe Fouqueré, Virgile Mogbil. Logic Programming Revisited. 2011. �hal-00198805v2�
W, Γ ! Z W Γ
W 1 ! W 2 Z
W, Γ, !∆ ! Z
∆
c 1,j
1c n,j
nh k
h k
c i,j
M t(M ) = ! "
k∈K
h k #
! ! ` i∈I ( "
j∈J
c i,j ) #
M t(M ) !
t(M ) M
M
U
A i : −
B : − A 1 , . . . , A n
: − B
→ A i (
i∈I A i → B )
B → *
I $= ∅ B A i
U
1 ! A i i
+
i∈I A i ! B B ! ⊥
B !Γ, B ! ⊥ ! Γ
!Γ !C C ∈ Γ
!Γ ! B !
A i
A i
B
B
i
U !Γ ! B
!Γ ! 1
!Γ, !(A 1 ⊗ · · · ⊗ A n ! B) ! A 1 , . . . , A n , C 1 , . . . , C p
!Γ, !(A 1 ⊗ · · · ⊗ A n ! B) ! B, C 1 , . . . , C p
U C U
¬A i →
¬B → ,
i∈I (¬A i )
→ ¬B
A ⊥ i ! ⊥ B ⊥ ! ` i∈I A ⊥ i
1 ! B ⊥ I $= ∅
A ⊥ i
B ⊥
B ⊥ - ./ 0 A ⊥ i
A ⊥ i
V
→ A i
(
i∈I A i → ,
j∈J B j
B →
1 ! A i
+
i∈I A i ! ` j∈J B j
B ! ⊥
I, J $= ∅
A i
A i
- ./ 0 B j
B
V
¬A i → (
j∈J ¬B j → ,
i∈I ¬A i
→ ¬B
A ⊥ i ! ⊥ +
j∈J B ⊥ j ! ` i∈I A ⊥ i 1 ! B ⊥
B ⊥
B ⊥ j
- ./ 0 A ⊥ i
A ⊥ i
W U C
1 ! A A ! ` i∈I +
j∈J B i,j +
l∈L B l ! ⊥
A
A - ./ 0
B i,j
B i
"
! "# $
α
β
! "# $
γ
δ
−→ →
! "# $
α
! "# $
γ
β δ
α
β ! "# $
γ
δ
−→ →
α β ! "# $
γ
δ
M M → → ∗
⊥ ∪
#
1 ! A +
k∈K A k ! ` i∈I +
j∈J B i,j +
l∈L B l ! ⊥
A
A
k- B ./
i,j0
B
i! !A ! A ⊗ · · · ⊗ A
!A A
!A
!A
A !A
? A ⊥
A ?A ⊥ !A
?
! ?
1 ⊗ F := 1 | G
G := A | A ⊥ | G ⊗ 1 | 1 ⊗ G | G ⊗ G | G ` G | ?G | !G
n
A, B, . . .
A ⊥ , B ⊥ , . . . A ?A
!A ⊥
!A ⊥ = ↓#A ⊥ ?A = ↑$A ↓ ↑
$
#
n n
n
P N
A
1 P := +
i∈I ρ i | $( +
i∈I ρ i ) ρ := A | ↓N
1 N := ` k∈K ν k | #( ` k∈K ν k ) ν := A ⊥ | ↑P
n
(−) − n
F ! F !
nF − 1 + = 1 A + = A
(F 1 ⊗ F 2 ) + = F 1 + ⊗ F 2 + (!F) + = ↓#F −
F + = ↓F −
A ⊥− = A ⊥ (F 1 ` F 2 ) − = F 1 − ` F 2 −
(?F) − = ↑$F + F − = ↑F +
# A, A ⊥ (axiom) # Γ, A # A ⊥ , ∆
# Γ, ∆ (cut) # A, B, Γ
# A ` B, Γ ( ` ) # Γ, A # ∆, B
# Γ, A ⊗ B, ∆ (⊗)
# Γ, P
# Γ, ↑P ( ↑) # Γ, N
# Γ, ↓N ( ↓)
# 'Γ, N
# 'Γ, (N ((p) # Γ, P
# Γ, 'P ('d) # Γ
# Γ, 'P ('w) # Γ, 'P, 'P
# Γ, 'P ('c)
$d
$w $c
#p
$
# A ! ↓# ↑A
∗
$ #
∗
∗
!(X ! Y ) $
"
X ! !Y ∗ ∗∗
∗
X ! ?Y #
!∗∗
[!]
A l A m
["]
∗∗
[!]
B l,1 B m,1
∗∗
[!]
B l,k B m,k
["]
A i
[!]
["]
B i
1 T
C
[!](1 ! [?] ( +
l∈L A l +
m∈M A ! m )) [!]( +
i∈I A i ! ` k∈K [?] ( +
l∈L B l,k +
m∈M B m,k ! )) = C [!]( +
i∈I B i ! ⊥)
C !
A i
B l,k
B m,k ! ?
{1 ! A ⊗ B, B !
?C, !(A ⊗ C) ! ⊥}
$
( '
(
? d
⊗ 1
`
!
`
!
⊗ ⊗
`
∗
∗
#
a 1 , a 2 b 1 , b 2 u 1 , v 1 u 2 , v 2
![(a 1 ⊗ a 2 ) ! (u 1 ⊗ v 1 )]
![(b 1 ⊗ b 2 ) ! (u 2 ⊗ v 2 )]
(u 1 ⊗ u 2 ) ! (a 1 ⊗ b 1 ) (v 1 ⊗ v 2 ) ! (a 2 ⊗ b 2 ) {a 1 , a 2 , b 1 , b 2 }
(u 1 ⊗ u 2 ⊗ v 1 ⊗ v 2 ) ! ⊥ a
2! !
a
1b
1b
2v
1u
2