Very interesting, I think, that "A implies B" is the same as "A ≼ B", is apparently mathematical main stream, and not just popular in formal logic.
If you continue along these lines, you also not just need to ask, what is implication, but what are A and B? Well, they are things you can compare for their truth content, so let's call them truth values. Surely, "≼" should form a partial order, and if you want arbitrary conjunction and disjunction to exist, truth values with "≼" should form a complete lattice T. This means that "∧" and "∨" are now operations T×T → T. If you want implication ALSO to be such an operation "⇒", instead of just the comparison relation "≼", you can use the following condition (somebody already mentioned it in another comment here, via Galois connections), which just means that "A and B imply C" is the same as "A implies that (B implies C)", interpreting implication simultaneously as "⇒" and "≼":
A ∧ B ≼ C iff A ≼ B ⇒ C
That allows you to define B ⇒ C as the supremum of all A such that A ∧ B ≼ C, in every complete lattice. If the join-infinite distributive law [1] holds, above condition will hold with this definition, and you get a complete Heyting algebra this way.This is exactly how I turn abstraction algebra into abstraction logic [2].
[1] https://proofwiki.org/wiki/Axiom:Infinite_Join_Distributive_...
> A Conversation with Graham Priest About Abstraction Logic
but admit afterward that you talked to Claude prompted to sound like Graham Priest:
> A conversation about abstraction logic with Claude representing Graham Priest.
You also wrote an update stating:
> Update: The real Graham Priest says that it doesn't really sound like his voice. So enjoy with caution .
Don't you find it unethical to claim that you had "a conversation with Graham Priest about Abstraction Logic"? You didn't have a conversation with Priest. You had an interaction with Claude in Priest clothing. It doesn't even sound like Priest agrees with what you prompted Claude to say. Do you think it's permissible to let LLMs speak on behalf of people without their consent? Do you think that what an LLM says when prompted to speak as though it were some person should be accepted as what the person would actually say and believe?
Why should we find it interesting what any LLM has to say about your work, regardless of whose voice you dress it up as?
I don't see what is unethical about that.
> Why should we find it interesting what any LLM has to say about your work, regardless of whose voice you dress it up as?
Who is "we"? I don't even know who you are, AbstractPlay. The article exists because I personally find it interesting, and I actually learnt something through it. If somebody else finds it interesting, great. If you don't, too bad. Thanks for letting me know either way.
(b >= c) && (a >= b) -> (a >= c) is a composition.
The more interesting consequence is that function types and implications are different names for the same thing. This is a Curry-Howard-Lambek correspondence.
This means that in order to prove
(b -> c) -> (a -> b) -> (a -> c)
it's enough to implement a function
f g h x = g (h x)
Another consequence is that exponentiation a^b can be considered the same thing as b -> a.
a^(bc) = (a^b)^c
(b && c) -> a = c -> b -> a
In the case where a and b are not strictly boolean (supposing they are instead probabilities for example) you could even generalize it somewhat in terms of "pure" mathematical operations.
double implies(double a, double b) {
double dif = a - b;
double abx = sqrt(dif * dif);
return 1 + pow(0, abx - dif) - pow(1, abx + dif);
}
Kind of silly, I know, but it does work.I thought about it in terms of cardinalities of types. If A and B are types with |A| and |B| values correspondingly, there are |B|^|A| possible functions A -> B.
Another funny thing is that if you consider
forall a. (a -> a) -> (a -> a)
the type of natural numbers (weird, I know, but basically we encode numbers in unary with number of times we compose (a -> a) to itself), then exponentiation on such numbers will be
a ^ b = b a
F(x) ≤ y iff x ≤ G(y)
One form of this is the tautology when F(x) = (x and a), G(y) = (a => y), and pick logical implication as the "≤". ((x and a) => y) iff (x => (a => y))
https://en.wikipedia.org/wiki/Galois_connection#Power_set;_i...¹: in reality weather can be extremely weird sometimes. I had it rain without visible clouds before on the open field. I am pretty sure it was just very light and uniform fog I was inside of, that would count as a cloud technically, but one could argue..
...
> This means that only if x>y, then the statement is false. A simpler way to write this is that x ≤ y, which reveals the connection.
So it's the same as <= not >=?