Re: A Christmas Miracle (Was: Curry-Howard Correspondence where?)

Liste des GroupesRevenir à s logic 
Sujet : Re: A Christmas Miracle (Was: Curry-Howard Correspondence where?)
De : janburse (at) *nospam* fastmail.fm (Mild Shock)
Groupes : sci.logic
Date : 21. Dec 2024, 21:24:21
Autres entêtes
Message-ID : <vk785m$1jg0n$1@solani.org>
References : 1 2 3 4 5 6 7
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.19
Hi,
But it also explains why you need to apply the
Dragalin "Copying". If you would really implement:
 >        Γ ⊢ α1    ....  Γ ⊢ αn
 >     -----------------------------
 >       Γ, (β :- α1, .., αn) ⊢ β
The above could indicate that you remove the applied
rule (β :- α1, .., αn). But you might have subgoals
that need the rule again. So the Prolog-ish and
als the intuitionistic system has in fact:
    Γ, γ ⊢ α1    ....  Γ, γ ⊢ αn
   -------------------------------
            Γ, γ ⊢ β
Where γ = (β :- α1, .., αn). So we are in the mist
of Affine logic, which would probaly forbid the
use of the rule a second or third time.
Lets see whether we can solve Weekend 3.
Bye
Mild Shock schrieb:
Hi,
 Corr.: Typo., This way its not Natural Deduction:
  >      Γ ⊢ α1    ....  Γ ⊢ αn
 >   -----------------------------
 >     Γ, α1 → ...  → αn → β ⊢ β
  Only this way it would be Natural Deduction:
  >      Γ ⊢ α1    ....  Γ ⊢ αn
 >   -----------------------------
 >     Γ ⊢ (α1 → ...  → αn → β) → β
 But lets stick to the first form. Interestingly the
multi-premisse rule is Prolog itself in disguise.
Just observe that we usually have for conjunction:
     α → (β → γ)  ==  α ∧ β → γ
 So we can write the rule as:
        Γ ⊢ α1    ....  Γ ⊢ αn
    -----------------------------
      Γ,  α1 ∧  ... ∧ αn → β ⊢ β
 Now use comman and Prolog implication and you can write it:
        Γ ⊢ α1    ....  Γ ⊢ αn
    -----------------------------
      Γ, (β :- α1, .., αn) ⊢ β
 Thats basically the declarative reading,
reading ⊢ as "is true":
 "The goal β is true if the subgoals ​α1, .., αn are all true."
 Bye
 Mild Shock schrieb:
Hi,sub
>
There are some reduction techniques that more
or less work for natural deduction. But its
not so easy, you need Long Head Normal form
>
and stuff. But Prolog code, a description of it,
has been published for example here. Guess who
wrote the Prolog code paper?
>
August 1988
https://www.researchgate.net/publication/322069446
>
Its based on the original Howard paper which uses a
multi premisse rule. So its not a rule with a fixed
arity. Namely its this rule:
>
     Γ ⊢ α1    ....  Γ ⊢ αn
  -----------------------------
    Γ, α1 → ...  → αn → β ⊢ β
>
You can use the above for reduction. And it
has a Natural Deduction Flair. You can also related
the above rule to Sequent calculus.
>
Its quite a Christmas Miracle.
>
Bye
>
Mild Shock schrieb:
Hi,
>
I even wonder why you talk about Proofs as Programs.
Your calculus is not suitable. Proofs as Progams
usually uses Natural Deduction. There are very few
>
systems that use Sequent Calculus. Well if your rules
here were really impI and impE:
>
 > % (C=>X->Y) --> [(C,X=>Y)]
 > reduction(impI, (C=>X->Y), [[X|C]=>Y], []).
 >
 > % (C,X->Y=>Z) --> [(C=>X),(C,Y=>Z)]
 > reduction(impE, (C0=>Z), [C=>X,[Y|C]=>Z], [H]) :-
 > use_hyp((_->_), C0, (X->Y), C, H).
https://gist.github.com/jp-diegidio/b6a7a071f9f81a469c493c4afcc5cb11
>
Then you would have solved Weekend 3 already for long.
Because if they really were impI and impE you
could easily extract lambda expression. After all
>
Curry Howard has these two impI and impE rules:
>
   Γ, α  ⊢  β
-------------- (→I)
   Γ ⊢ α → β
>
   Γ ⊢ α → β  Γ ⊢ α
--------------------- (→E)
        Γ ⊢ β
>
https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence#Intuitionistic_Natural_deduction_and_typed_lambda_calculus >
>
But your Prolog obviously doesn't realize
the two rules (→I) and (→E).
>
The rule impE is wrong. Also you cannot use
reduction technique for Natural Deduction, because
the (→E) rule invents a new formula β in backward
>
chaining. So it wouldn't be a proper reduction,
when it invents something. The formulas get sometimes
in a first phase larger and not necessarey
>
smaller in Natural Deduction. So you would need to
deploy a similar search as in Weekend 2.
The BCI search.
>
Julio Di Egidio schrieb:
On 14/12/2024 22:13, Mild Shock wrote:
>
Create a proof search in Simple Types,
that finds Lambda Expressions as proof,
for a given formula in propositional logic.
>
Thinking about it:
>
Either by hand or with a 'solve', we/I [*] go from a Goal to a Proof (proof tree).  And, by Curry-Howard, that is (already!) our Type and witnessing Term, i.e. our Proof is a program whose type is the Goal. Indeed, we also already find type-checking: of a Proof against the Goal it alleges to be a proof of.
>
What program does the Proof represent?  If a Goal is of the form `G=>Z`, where `G` is the context (some collection of Formulas as hypotheses), and Formula `Z` is the conclusion, we interpret a Goal as a function from the hypotheses to the conclusion.
>
To execute a Proof we need a "machine", namely, a function 'eval' that takes the Proof as well as witnessing Terms for each hypothesis, and returns a Term witnessing the conclusion.  (Which also requires a system of Terms: but I am not yet sure about the details...)
>
More than that, we can 'compile' the Proof to some target language (the system's host language being the first candidate), to produce a function in the target language that is like 'eval' except specialized to the given Proof as well as to as many hypothesis Terms as can be fixed...
>
Sounds good?  Anything else?  :)
>
-Julio
>
[*] See <https://gist.github.com/jp-diegidio/b6a7a071f9f81a469c493c4afcc5cb11#file-gentzen-pl> >
>
>
>
 

Date Sujet#  Auteur
14 Dec 24 * Advent of Logic 2024: Weekend 158Mild Shock
14 Dec 24 +* Advent of Logic 2024: Weekend 2 (Was: Advent of Logic 2024: Weekend 1)36Mild Shock
14 Dec 24 i`* Re: Advent of Logic 2024: Weekend 3 (Was: Advent of Logic 2024: Weekend 2)35Mild Shock
17 Dec 24 i +* Proofs as programs (Was: Advent of Logic 2024: Weekend 3)33Julio Di Egidio
17 Dec 24 i i+- Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)1Julio Di Egidio
17 Dec 24 i i+* Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)21Mild Shock
17 Dec 24 i ii+* Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)3Mild Shock
17 Dec 24 i iii+- Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)1Mild Shock
17 Dec 24 i iii`- Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)1Mild Shock
18 Dec 24 i ii`* Re: Proofs as programs17Julio Di Egidio
18 Dec 24 i ii `* Re: Proofs as programs16Mild Shock
18 Dec 24 i ii  `* Re: Proofs as programs15Mild Shock
18 Dec 24 i ii   `* Re: Proofs as programs14Julio Di Egidio
18 Dec 24 i ii    `* Re: Proofs as programs13Mild Shock
18 Dec 24 i ii     `* Hilbert Style proof system (Was: Proofs as programs)12Mild Shock
18 Dec 24 i ii      `* Re: Proofs as programs11Julio Di Egidio
19 Dec 24 i ii       `* What are Simple Types (Was: Proofs as programs)10Mild Shock
19 Dec 24 i ii        +* Re: What are Simple Types (Was: Proofs as programs)2Mild Shock
19 Dec 24 i ii        i`- Re: What are Simple Types (Was: Proofs as programs)1Mild Shock
19 Dec 24 i ii        `* Re: What are Simple Types (Was: Proofs as programs)7Julio Di Egidio
19 Dec 24 i ii         `* Re: What are Simple Types (Was: Proofs as programs)6Mild Shock
19 Dec 24 i ii          +* Re: What are Simple Types (Was: Proofs as programs)2Julio Di Egidio
19 Dec 24 i ii          i`- Re: What are Simple Types (Was: Proofs as programs)1Mild Shock
19 Dec 24 i ii          `* Re: What are Simple Types (Was: Proofs as programs)3Mild Shock
19 Dec 24 i ii           +- Re: What are Simple Types (Was: Proofs as programs)1Mild Shock
19 Dec 24 i ii           `- Re: What are Simple Types (Was: Proofs as programs)1Julio Di Egidio
19 Dec 24 i i+* Re: Proofs as programs (Was: Advent of Logic 2024: Weekend 3)5Julio Di Egidio
22 Dec 24 i ii`* Re: Proofs as programs4Julio Di Egidio
23 Dec 24 i ii `* /* A */ and /* B */ are different (Was: Proofs as programs)3Mild Shock
23 Dec 24 i ii  +- The Task is called the Inhabitation Problem (Was: /* A */ and /* B */ are different)1Mild Shock
23 Dec 24 i ii  `- Re: /* A */ and /* B */ are different (Was: Proofs as programs)1Julio Di Egidio
21 Dec 24 i i`* Curry-Howard Correspondence where? (Was: Proofs as programs (Was: Advent of Logic 2024: Weekend 3))5Mild Shock
21 Dec 24 i i `* A Christmas Miracle (Was: Curry-Howard Correspondence where?)4Mild Shock
21 Dec 24 i i  `* Re: A Christmas Miracle (Was: Curry-Howard Correspondence where?)3Mild Shock
21 Dec 24 i i   `* Re: A Christmas Miracle (Was: Curry-Howard Correspondence where?)2Mild Shock
21 Dec 24 i i    `- Re: A Christmas Miracle (Was: Curry-Howard Correspondence where?)1Mild Shock
27 Dec 24 i `- 4th Family Member: Relevant Logic (Re: Advent of Logic 2024: Weekend 3)1Mild Shock
20 Dec 24 +* Advent of Logic 2024: Specification and Deadline (Was: Advent of Logic 2024: Weekend 1)20Mild Shock
20 Dec 24 i+* Re: Advent of Logic 2024: Specification and Deadline (Was: Advent of Logic 2024: Weekend 1)15Mild Shock
20 Dec 24 ii+- Advent of Logic 2024: Solution Weekend 2 (Was: Advent of Logic 2024: Specification and Deadline)1Mild Shock
20 Dec 24 ii`* Repetition vs Use (Was: Advent of Logic 2024: Specification and Deadline)13Julio Di Egidio
20 Dec 24 ii `* Re: Repetition vs Use (Was: Advent of Logic 2024: Specification and Deadline)12Mild Shock
20 Dec 24 ii  `* Re: Repetition vs Use (Was: Advent of Logic 2024: Specification and Deadline)11Julio Di Egidio
20 Dec 24 ii   `* Please be patient (Was: Repetition vs Use)10Mild Shock
20 Dec 24 ii    `* Happy Now? (Was: Please be patient)9Mild Shock
20 Dec 24 ii     `* Re: Happy Now? (Was: Please be patient)8Julio Di Egidio
21 Dec 24 ii      `* What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))7Mild Shock
21 Dec 24 ii       `* Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))6Julio Di Egidio
21 Dec 24 ii        `* Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))5Mild Shock
21 Dec 24 ii         +- Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))1Mild Shock
21 Dec 24 ii         `* Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))3Julio Di Egidio
21 Dec 24 ii          `* Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))2Mild Shock
21 Dec 24 ii           `- Re: What is it, a Bird or an Airplane? (Was: Happy Now? (Was: Please be patient))1Julio Di Egidio
21 Dec 24 i`* Advent of Logic 2024: Friendly Reminder (Re: Advent of Logic 2024: Specification and Deadline)4Mild Shock
24 Dec 24 i `* Re: Advent of Logic 2024: Friendly Reminder (Re: Advent of Logic 2024: Specification and Deadline)3Mild Shock
24 Dec 24 i  `* Linear Logic as Natural Deduction (Was: Advent of Logic 2024: Friendly Reminder)2Mild Shock
24 Dec 24 i   `- Re: Linear Logic as Natural Deduction (Was: Advent of Logic 2024: Friendly Reminder)1Mild Shock
17 Jan 25 `- Combinatorial Simple Typed Solution (Re: Advent of Logic 2024: Weekend 1)1Mild Shock

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal