From 8508d8b77106a2586b425df687ddb401cbcf779f Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Sat, 17 Jan 2026 15:25:17 +1300 Subject: Removed free logic Variable tracking in States, removed Fresh_Node and Static_Node from Goal graphs --- src/kompsos.adb | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/kompsos.adb') diff --git a/src/kompsos.adb b/src/kompsos.adb index 7054714..080683b 100644 --- a/src/kompsos.adb +++ b/src/kompsos.adb @@ -254,17 +254,9 @@ package body Kompsos is function Fresh (This : in out Goal'Class) - return Term - is - My_Var : constant Variable := Next_Gen; + return Term is begin - return My_Term : constant Term := Term (T (My_Var)) do - This.Actual := new Goal_Component'( - (Kind => Fresh_Node, - Counter => 1, - Frs_Goal => Goal (This), - Frs_Var => My_Var)); - end return; + return Term (T (Next_Gen)); end Fresh; @@ -557,8 +549,8 @@ package body Kompsos is when Null_Term | Atom_Term => return This; when Var_Term => - if Subst.LVars.Contains (This.Var) and then Subst.Subst.Contains (This.Var) then - return Subst.Subst.Element (This.Var).Resolve (Subst); + if Subst.Actual.Contains (This.Var) then + return Subst.Actual.Element (This.Var).Resolve (Subst); else return This; end if; @@ -572,10 +564,10 @@ package body Kompsos is (Subst : in State) return Term is begin - if Subst.LVars.Is_Empty then + if Subst.Actual.Is_Empty then return Empty_Term; else - return Resolve (Term (T (Subst.LVars.First_Element)), Subst); + return Subst.Actual.First_Element.Resolve (Subst); end if; end Resolve_First; -- cgit