git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@53 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
31 lines
3.0 KiB
Prolog
31 lines
3.0 KiB
Prolog
:- op(600,xfy,::).
|
|
:- op(600,fy,::).
|
|
:- op(600,fx,^^).
|
|
:- dynamic '+2__ddcl'/4.
|
|
:- dynamic '+2__ddef'/5.
|
|
'+2_'('+2__dcl','+2__def','+2__super','+2__sdcl','+2__sdef','+2__ddcl','+2__ddef').
|
|
'+2__dcl'(_24091,_24092,_24093,_24094):-fail.
|
|
'+2__dcl'(_24091,_24092,_24093,_24094,_24098+_24099,_24098+_24099):-'+2__dcl'(_24091,_24092,_24093,_24094).
|
|
'+2__dcl'(_24091,_24092,_24093,_24094,_24098+_24099,_24098+_24099):-'+2__ddcl'(_24091,_24092,_24093,_24094).
|
|
'+2__dcl'(_24091,_24092,_24093,_24094,_24098+_24099,_24096):-symdiffp0__dcl(_24091,_24092,_24093,_24094,_24096).
|
|
'+2__def'(diff(_24094),_24089,_24090,_24091,'+2_diff1'(_24094,_24089,_24090,_24091)).
|
|
'+2__def'(diff(_24094,_24095,_24096),_24089,_24090,_24091,'+2_diff3'(_24094,_24095,_24096,_24089,_24090,_24091)).
|
|
'+2__def'(simplify(_24094),_24089,_24090,_24091,'+2_simplify1'(_24094,_24089,_24090,_24091)).
|
|
'+2__def'(simplify(_24094,_24095,_24096),_24089,_24090,_24091,'+2_simplify3'(_24094,_24095,_24096,_24089,_24090,_24091)).
|
|
'+2__def'(_24091,_24092,_24093,_24094,_24095,_24098+_24099):-'+2__def'(_24091,_24092,_24093,_24094,_24095).
|
|
'+2__def'(_24091,_24092,_24093,_24094,_24095,_24098+_24099):-'+2__ddef'(_24091,_24092,_24093,_24094,_24095).
|
|
'+2__super'(_24091,_24092,_24093,_24094,_24095,_24096):-fail.
|
|
'+2_diff1'(_24091,_24092,_24096+_24097,_24094):-once('+2_diff3'(_24096,_24097,_24091,_24092,_24096+_24097,_24094)).
|
|
'+2_diff3'(_24091,_24092,0,_24094,_24095,_24096):-integer(_24091),integer(_24092).
|
|
'+2_diff3'(_24091,_24092,_24093,_24094,_24095,_24096):-integer(_24092),lgt_send_to_object(_24091,diff(_24093),_24095).
|
|
'+2_diff3'(_24091,_24092,_24093,_24094,_24095,_24096):-integer(_24091),lgt_send_to_object(_24092,diff(_24093),_24095).
|
|
'+2_diff3'(_24091,_24092,_24098+_24099,_24094,_24095,_24096):-lgt_send_to_object(_24091,diff(_24098),_24095),lgt_send_to_object(_24092,diff(_24099),_24095).
|
|
'+2_simplify1'(_24091,_24092,_24096+_24097,_24094):-once('+2_simplify3'(_24096,_24097,_24091,_24092,_24096+_24097,_24094)).
|
|
'+2_simplify3'(_24091,_24092,_24093,_24094,_24095,_24096):-integer(_24091),integer(_24092),_24093 is _24091+_24092.
|
|
'+2_simplify3'(_24091,0,_24093,_24094,_24095,_24096):-lgt_send_to_object(_24091,simplify(_24093),_24095).
|
|
'+2_simplify3'(0,_24092,_24093,_24094,_24095,_24096):-lgt_send_to_object(_24092,simplify(_24093),_24095).
|
|
'+2_simplify3'(_24091,_24092,_24098+_24092,_24094,_24095,_24096):-integer(_24092),lgt_send_to_object(_24091,simplify(_24098),_24095).
|
|
'+2_simplify3'(_24091,_24092,_24091+_24099,_24094,_24095,_24096):-integer(_24091),lgt_send_to_object(_24092,simplify(_24099),_24095).
|
|
'+2_simplify3'(_24091,_24092,_24093,_24094,_24095,_24096):-lgt_send_to_object(_24091,simplify(_24105),_24095),lgt_send_to_object(_24092,simplify(_24114),_24095),(_24091+_24092\=_24105+_24114->lgt_send_to_object_nv(_24105+_24114,simplify(_24093),_24095);_24093=_24105+_24114).
|
|
:- initialization((lgt_assert_relation_clauses([lgt_current_object_(_24105+_24106,'+2_','+2__dcl','+2__def','+2__super'),lgt_implements_protocol_(_24114+_24115,symdiffp,public)]))).
|