It depends what you want to do. Julia's base language doesn't include logical reasoning. If you want to translate a Prolog program into Julia, you can get away with `if x then y`, but if you want to implement logical reasoning, then you need to build some machinery yourself. I would use types
immutable Implication precondition consequence end immutable And condition1 condition2 end ... then (a && b) => c becomes Implication(And(:a, :b), :c) Then I would define functions to perform backward-chaining. Julia is quite nice for this kind of thing, because of multiple dispatch. Then of course, you'll need unification/matching for variables, but that's not too hard to write either. Read carefully Artificial Intelligence: A modern approach, and try to implement its pseudocode in Julia. Write a lot of tests to make sure that it works correctly, then slowly move up from there. It takes a lot of time to learn mathematics; there are no short-cuts. Cédric On Tue, Sep 20, 2016 at 11:25 AM, Kevin Liu <kvt...@gmail.com> wrote: > The negation I'm guessing would be x = false, iff an equivalence of type > and value (but in Julia?), implication a combination of if x = true then y > = false? Is it as simple as this? > > > On Tuesday, September 20, 2016 at 11:56:46 AM UTC-3, Kevin Liu wrote: >> >> Would anyone know how to represent logical connectives (e.g. negation ¬, >> conjunction ∧, disjunction ∨, material implication ⇒, biconditional iff ⇔) >> and quantifiers (e.g. all ∀, exists ∃) in Julia? >> >> I understand 'all' can be a for loop. Is the conjunction a comma like in >> Prolog? Disjunction the 'else' of an if statement? 'Exists' an x = true? >> >> On Tuesday, September 20, 2016 at 12:31:23 AM UTC-3, Kevin Liu wrote: >>> >>> Thanks Cedric, read some of that and LilKanren.jl and this is where I am >>> with the code (attached). Will continue tomorrow. Feel a bit lost, nothing >>> out of the usual. >>> >>> On Monday, September 19, 2016 at 9:15:43 PM UTC-3, Cedric St-Jean wrote: >>>> >>>> You might want to roll your own, too. It's instructive, and not >>>> particularly hard. Russell and Norvig's textbook has a good section on it. >>>> >>>> On Monday, September 19, 2016 at 5:44:04 PM UTC-4, Kevin Liu wrote: >>>>> >>>>> Thanks for the direction, Stefan. >>>>> >>>>> On Monday, September 19, 2016 at 3:10:19 PM UTC-3, Stefan Karpinski >>>>> wrote: >>>>>> >>>>>> You might try LilKanren.jl <https://github.com/lilinjn/LilKanren.jl>. >>>>>> >>>>>> On Mon, Sep 19, 2016 at 10:21 AM, Kevin Liu <kvt...@gmail.com> wrote: >>>>>> >>>>>>> Hello. What would be the long-term solution for using Horn clauses >>>>>>> in Julia? Is the present solution to call Prolog from C and C from >>>>>>> Julia? >>>>>>> Thanks >>>>>>> >>>>>> >>>>>>