The challenge is this here:
Mild Shock schrieb:
Advent of Logic 2024: Weekend 2
Create a *proof search* in Combinatory Logic,
that finds a Combinator Expression as proof
for a given formula in propositional logic.
The propositional logic can do with
implication only, and it should be *Linear Logic*.
French logician Jean-Yves Girard is credited
with Linear Logic, and since we have implication
logic only, the Logic will be also *affine*, i.e.
it will have no contraction, which makes
it special towards certain paradoxes.
As a test case, you could show for example a proof of:
(a -> ((a -> b) -> b))
But you find more formulas as test cases here:
BCK and BCI Logics, Condensed Detachment and the 2-Property
J. ROGER HINDLEY - Notre Dame Journal of Formal Logic
Volume 34, Number 2, Spring 1993 https://projecteuclid.org/journals/notre-dame-journal-of-formal-logic/volume-34/issue-2/BCK-and-BCI-logics-condensed-detachment-and-the-2-property/10.1305/ndjfl/1093634655.pdf
Section 3.6.1 and 3.6.2 are test cases.
Julio Di Egidio schrieb:
On 18/12/2024 08:43, Mild Shock wrote:
The advent of logic tasks are not philosophical,
they directly ask for a calculus aka proof search
in Prolog. You could add some philosophical notes
to the resulting Prolog code.
"Philosophy" as in not being a vacuous dumb fuck? I hope.
I was asking if my work would qualify for your challenge, in fact what
the challenge even is, since you cannot write a problem statement that
is one.
When you have missed that point, I have pointed out that accessorized
system variant 1765234 is utterly uninteresting when pure system 0 is
already a difficult foundational then coding problem otherwise a cheat.
But don't take my word for it.
-Julio
Create a proof search in Simple Types,
that finds Lambda Expressions as proof,
for a given formula in propositional logic.
The logic is the same as in Weekend 2.
But I am not familiar with this proof display:
[
impI((p->0))
impI((p->0))
[
impE1(1:(p->q))
impI(p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
botE(3:0)
]
]
[
impE2(1:p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
unif(3:0)
]
]
]
On 18/12/2024 15:30, Mild Shock wrote:
Maybe your work qualifies for Weekend 3.
In fact, I have replied to the WE3 announcement.
I don't know yet. You have to tell us. Do
you think it implements a Natural Deduction
with Simple Types proof extraction?
It implements "affine intuitionistic propositional logic", and I am
getting to evaluation/compilation which is the functional side (more
details in my initial reply): so, sure, I even classify my reduction
rules as intros vs elims...
What is the deadline? I don't know what WE is 3.
-Julio
The requirement for week 3 is explicitly lambda expressions:
Create a proof search in Simple Types,
that finds Lambda Expressions as proof,
for a given formula in propositional logic.
The logic is the same as in Weekend 2.
For Affine Logic the lambda expressions should have a funny property:
- A variable occurs only once unbound in the bound scope.
For example this here, although it has a simple type:
λ y:A λ x:A->A. x (x y)
It cannot be a proof term of Affine Logic, since x occurs twice.
Some testing showed you don't produce lambda expressions:
You produce:
But I am not familiar with this proof display:
[
impI((p->0))
impI((p->0))
[
impE1(1:(p->q))
impI(p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
botE(3:0)
]
]
[
impE2(1:p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
unif(3:0)
]
]
]
Julio Di Egidio schrieb:
On 18/12/2024 15:30, Mild Shock wrote:
Maybe your work qualifies for Weekend 3.
In fact, I have replied to the WE3 announcement.
I don't know yet. You have to tell us. Do
you think it implements a Natural Deduction
with Simple Types proof extraction?
It implements "affine intuitionistic propositional logic", and I am
getting to evaluation/compilation which is the functional side (more
details in my initial reply): so, sure, I even classify my reduction
rules as intros vs elims...
What is the deadline? I don't know what WE is 3.
-Julio
Hi,
The typing rules for WE3 are similar to WE2.
The changes are:
- WE2 doesn't require a context
- WE3 requires a context
- WE2 has only modus ponense and constants
- WE3 has additionally deduction theorem and variables
See also here what WE3 requires:
https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus#Typing_rules
Bye
Mild Shock schrieb:
The requirement for week 3 is explicitly lambda expressions:
Create a proof search in Simple Types,
that finds Lambda Expressions as proof,
for a given formula in propositional logic.
The logic is the same as in Weekend 2.
For Affine Logic the lambda expressions should have a funny property:
- A variable occurs only once unbound in the bound scope.
For example this here, although it has a simple type:
λ y:A λ x:A->A. x (x y)
It cannot be a proof term of Affine Logic, since x occurs twice.
Some testing showed you don't produce lambda expressions:
You produce:
But I am not familiar with this proof display:
[
impI((p->0))
impI((p->0))
[
impE1(1:(p->q))
impI(p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
botE(3:0)
]
]
[
impE2(1:p)
[
impE1(1:p)
unif(2:p)
]
[
impE2(1:0)
unif(3:0)
]
]
]
Julio Di Egidio schrieb:
On 18/12/2024 15:30, Mild Shock wrote:
Maybe your work qualifies for Weekend 3.
In fact, I have replied to the WE3 announcement.
I don't know yet. You have to tell us. Do
you think it implements a Natural Deduction
with Simple Types proof extraction?
It implements "affine intuitionistic propositional logic", and I am
getting to evaluation/compilation which is the functional side (more
details in my initial reply): so, sure, I even classify my reduction
rules as intros vs elims...
What is the deadline? I don't know what WE is 3.
-Julio
On 19/12/2024 00:30, Mild Shock wrote:
It cannot be a proof term of Affine Logic, since x occurs twice.That is not what affine logic means.
It cannot be a proof term of Affine Logic, since x occurs twice.
Some testing showed you don't produce lambda expressions:
You produce:
But I am not familiar with this proof display:
0: P -> (Q -> R) (Premisse)
1: P /\ Q (Assumption)
2: P (/\E,1)
3: Q -> R (->E,0,2)
4: Q (/\E,1)
5: R (->E,3,4)
6: P /\ Q -> R (Discharge,1)
What is the deadline? I don't know what WE is 3.
Julio Di Egidio schrieb:
On 19/12/2024 00:30, Mild Shock wrote:
It cannot be a proof term of Affine Logic, since x occurs twice.
That is not what affine logic means.
Well it does. It is based on the combinators B and C.
You cannot translate a lambda expression where x occurs twice
with B and C. You would need S.
Rule 7 and 8
https://en.wikipedia.org/wiki/Combinatory_logic#Combinators_B,_C
With B and C, you can only translate λx.(E1 E2) if x
occurs in E1 or E2 or none, but not in both E1 and E2.
Basically the implied requirement to have an equivalence
between the natural deduction and the hilbert style proofs,
that every lambda express can be translated to BCI.
0: P -> (Q -> R) (Premisse)
1: P /\ Q (Assumption)
2: P (/\E,1)
3: Q -> R (->E,0,2)
4: Q (/\E,1)
5: R (->E,3,4)
6: P /\ Q -> R (Discharge,1)
Advent of Logic 2024: Weekend 2
[...]
The propositional logic can do with
*implication only*, and it should be Linear Logic.
French logician Jean-Yves Girard is credited
[...]
Julio Di Egidio schrieb:
On 19/12/2024 00:30, Mild Shock wrote:
It cannot be a proof term of Affine Logic, since x occurs twice.That is not what affine logic means.
Well it does. It is based on the combinators B and C.
You cannot translate a lambda expression where x occurs twice
with B and C. You would need S.
Rule 7 and 8
https://en.wikipedia.org/wiki/Combinatory_logic#Combinators_B,_C
With B and C, you can only translate λx.(E1 E2) if x
occurs in E1 or E2 or none, but not in both E1 and E2.
Basically the implied requirement to have an equivalence
between the natural deduction and the hilbert style proofs,
that every lambda express can be translated to BCI.
Bye
It cannot be a proof term of Affine Logic, since x occurs twice.That is not what affine logic means.
On 19/12/2024 02:37, Mild Shock wrote: <https://en.wikipedia.org/wiki/Affine_logic> <https://en.wikipedia.org/wiki/Substructural_type_system>
This is also not in the scope of advent of logic:
From: Mild Shock <[email protected]>
Date: Mon, 18 Nov 2024 23:22:11 +0100
Subject: Re: How to prove this theorem with intuitionistic natural
deduction?
0: P -> (Q -> R) (Premisse)
1: P /\ Q (Assumption)
2: P (/\E,1)
3: Q -> R (->E,0,2)
4: Q (/\E,1)
5: R (->E,3,4)
6: P /\ Q -> R (Discharge,1)
The advent of logic has only implication (->)/2
and no conjunction (/\)/2:
Advent of Logic 2024: Weekend 2
[...]
The propositional logic can do with
*implication only*, and it should be Linear Logic.
French logician Jean-Yves Girard is credited
[...]
It says implication only. Just like here, implication
only is sometimes called positive logic:
Meredith, D. (1978). Positive logic and λ-constants.
Studia Logica, 37(3), 269–285. doi:10.1007/bf02124728
I think the example I gave is on page 288. The
lambda expression would need an additional combinator
W, it cannot be modelled with BCI alone:
λx:A->A.λy:A.(x (x y)) : ((A -> A) -> (A -> A))
Meredith, D. gives the combinator expression BCWI.
Didn't verify. The combinator W is left contraction,
and since affine logic has no contraction, the
combinator W is not part of affine logic:
W: ((A -> (A ->B)) -> (A -> B))
Mild Shock schrieb:
Julio Di Egidio schrieb:
On 19/12/2024 00:30, Mild Shock wrote:
It cannot be a proof term of Affine Logic, since x occurs twice.That is not what affine logic means.
Well it does. It is based on the combinators B and C.
You cannot translate a lambda expression where x occurs twice
with B and C. You would need S.
Rule 7 and 8
https://en.wikipedia.org/wiki/Combinatory_logic#Combinators_B,_C
With B and C, you can only translate λx.(E1 E2) if x
occurs in E1 or E2 or none, but not in both E1 and E2.
Basically the implied requirement to have an equivalence
between the natural deduction and the hilbert style proofs,
that every lambda express can be translated to BCI.
Bye
Advent of Logic 2024: Weekend 2
[...]
The propositional logic can do with
*implication only*, and it should be Linear Logic.
French logician Jean-Yves Girard is credited
[...]
It says implication only. Just like here, implication
only is sometimes called positive logic:
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 02:23:37 |
| Calls: | 12,098 |
| Calls today: | 6 |
| Files: | 15,003 |
| Messages: | 6,517,869 |