Slight correction below.
A little more of my fun project today...The Premise Language. Shall we continue... Part of building an AGI is having the capacity for reasoning, including syllogistic reasoning. Today we create a simple function that implements the universal affirmative syllogism. (More information can be found here: http://en.wikipedia.org/wiki/Syllogism) First we need help from a few language intrinsics: (knew prototype slot-def … ) find a known instance or make a new one (let prototype slot-def … ) creates a prototype (new prototype slot-def … ) creates a new instance (given premises limit number action value-or-form … )match instances using OPS-like syntax (with selector limit number action value-or-form … ) match instances using SQL-like syntax Then we create some ideas (actually a type a statement, but lets call them ideas for now). let idea :all :are end .: idea (new idea :all people :are mortal) .: idea_1 (new idea :all philosophers :are people) .: idea_2 function universal-affirmative {} (given [idea :all ?M :are ?P] [idea :all ?S (= :are ?M)] list (knew idea :all ?S :are ?P))end .: universal-affirmative (with idea) .: {[idea ^ idea_1 :all people :are mortal] [idea ^ idea_2 :all philosophers :are people]} (universal-affirmative) .: {idea_3} (with idea) .: {[idea ^ idea_1 :all people :are mortal] [idea ^ idea_2 :all philosophers :are people] [idea ^ idea_3 :all philosophers :are mortal]} And there you have it. TTFN. ~PM ------------------------------------------- AGI Archives: https://www.listbox.com/member/archive/303/=now RSS Feed: https://www.listbox.com/member/archive/rss/303/21088071-f452e424 Modify Your Subscription: https://www.listbox.com/member/?member_id=21088071&id_secret=21088071-58d57657 Powered by Listbox: http://www.listbox.com
