%y Any;x Number;f Any;insert Relation Any Any Any;insert Relation;ins Relation Any Any Any;ins Relation;balance Relation Any Any;balance Relation;pause Relation;pause Relation %Pair Functor;Tuple Functor;E Functor;Tree Functor;Black Functor;Red Functor;Pair Functor;T Functor % module % insert tree_insert(_f,_f3,_x,_upvals):-_upvals=[_ins],(call_cl(_ins,[_f,_f2,_x]),_f2 = fc_Tree(_,_a,_y,_b),_f3 = fc_Tree(fc([],"Black"),_a,_y,_b)). % ins tree_ins(_f,_f2,_x,_upvals):-_upvals=[_balance,_balance],((((true),(_f = fc([],"E"),_f2 = fc_Tree(fc([],"Red"),fc([],"E"),_x,fc([],"E")));_f = fc_Tree(_color,_a,_y,_b),((lt(_x,_y),call(tree_ins(_a,_a2,_x),_upvals),call_cl(_balance,[fc_Tuple(_color,_a2,_y,_b),_f2]));(ge(_x,_y),(_x = _y,_f2 = fc_Tree(_color,_a,_y,_b));(dif(_x,_y),call(tree_ins(_b,_b2,_x),_upvals),call_cl(_balance,[fc_Tuple(_color,_a,_y,_b2),_f2]))))))). % balance tree_balance(_f,_f2,_upvals):-_upvals=[],((((true),(_f = fc_Tuple(fc([],"Black"),fc_Tree(fc([],"Red"),fc_Tree(fc([],"Red"),_a,_x,_b),_y,_c),_z,_d),_f2 = fc_Tree(fc([],"Red"),fc_Tree(fc([],"Black"),_a,_x,_b),_y,fc_Tree(fc([],"Black"),_c,_z,_d)));_f = fc_Tuple(_color,_a,_x,_b),_f2 = fc_Tree(_color,_a,_x,_b)))). % pause tree_pause(_upvals):-_upvals=[],(read(_x)). % main tree(X):-_pause = clos([],tree_pause),_balance = clos([],tree_balance),_ins = clos([_balance,_balance],tree_ins),_insert = clos([_ins],tree_insert),call_cl(_insert,[fc([],"E"),_f,2]),_x = 1,lt(_x,_y).