include backtrace demo in fragrun output
Matt S Trout [Mon, 9 Apr 2018 00:36:49 +0000 (00:36 +0000)]
bin/fragrun
fragment.output/btdemo [new file with mode: 0644]

index dc148e7..d7c5f88 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
 
 for i in $(cd fragments; ls); do
-  perl -Ilib bin/dx fragments/$i >fragment.output/$i
+  perl -Ilib bin/dx fragments/$i >fragment.output/$i 2>&1
 done
diff --git a/fragment.output/btdemo b/fragment.output/btdemo
new file mode 100644 (file)
index 0000000..296324b
--- /dev/null
@@ -0,0 +1,809 @@
+$ trace *
+$ ?
+? eq ?X {{ a 1 b 2 c 3 }}
+consider eq ?X {{ a 1 b 2 c 3 }}
+resolution_space {
+    proposition eq ?X {{ a 1 b 2 c 3 }}
+    geometry_depends_on { CONTENTS_OF 0.X }
+    aperture { VALUE_SET 0.X }
+    members {
+        resolution {
+            actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+            veracity_depends_on { CONTENTS_OF 0.X }
+        }
+    }
+}
+resolve {
+    proposition eq ?X {{ a 1 b 2 c 3 }}
+    actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+    depends_on { CONTENTS_OF 0.X }
+}
+SetValue 0.X {{ a 1 b 2 c 3 }}
+? eq ?Y {{ d 1 e 2 f 3 }}
+consider eq ?Y {{ d 1 e 2 f 3 }}
+resolution_space {
+    proposition eq ?Y {{ d 1 e 2 f 3 }}
+    geometry_depends_on { CONTENTS_OF 0.Y }
+    aperture { VALUE_SET 0.Y }
+    members {
+        resolution {
+            actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+            veracity_depends_on { CONTENTS_OF 0.Y }
+        }
+    }
+}
+resolve {
+    proposition eq ?Y {{ d 1 e 2 f 3 }}
+    actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+    depends_on { CONTENTS_OF 0.Y }
+}
+SetValue 0.Y {{ d 1 e 2 f 3 }}
+? member_at X ?XKey ?XValue
+consider member_at X ?XKey ?XValue
+resolution_space {
+    proposition member_at X ?XKey ?XValue
+    geometry_depends_on { INDICES_OF 0.X; TYPE_OF 0.XKey; TYPE_OF 0.XValue }
+    aperture { VALUE_SET 0.XKey; VALUE_SET 0.XValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.XKey; set_value 0.XValue }
+            implementation_candidates {
+                { { 'a' } { 0.X.a } }
+                { { 'b' } { 0.X.b } }
+                { { 'c' } { 0.X.c } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at X ?XKey ?XValue
+    actions { SetValue 0.XKey 'a'; BindValue 0.XValue 0.X.a }
+    depends_on { CONTENTS_OF 0.X.a; CONTENTS_OF 0.XKey; CONTENTS_OF 0.XValue }
+}
+SetValue 0.XKey 'a'
+BindValue 0.XValue 0.X.a
+? member_at Y ?YKey ?YValue
+consider member_at Y ?YKey ?YValue
+resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'd' } { 0.Y.d } }
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'd'; BindValue 0.YValue 0.Y.d }
+    depends_on { CONTENTS_OF 0.Y.d; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+SetValue 0.YKey 'd'
+BindValue 0.YValue 0.Y.d
+? eq XValue 2
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'e'; BindValue 0.YValue 0.Y.e }
+    depends_on { CONTENTS_OF 0.Y.e; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates { { { 'f' } { 0.Y.f } } }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'f'; BindValue 0.YValue 0.Y.f }
+    depends_on { CONTENTS_OF 0.Y.f; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.a }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at X ?XKey ?XValue
+    geometry_depends_on { INDICES_OF 0.X; TYPE_OF 0.XKey; TYPE_OF 0.XValue }
+    aperture { VALUE_SET 0.XKey; VALUE_SET 0.XValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.XKey; set_value 0.XValue }
+            implementation_candidates {
+                { { 'b' } { 0.X.b } }
+                { { 'c' } { 0.X.c } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at X ?XKey ?XValue
+    actions { SetValue 0.XKey 'b'; BindValue 0.XValue 0.X.b }
+    depends_on { CONTENTS_OF 0.X.b; CONTENTS_OF 0.XKey; CONTENTS_OF 0.XValue }
+}
+consider member_at Y ?YKey ?YValue
+resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'd' } { 0.Y.d } }
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'd'; BindValue 0.YValue 0.Y.d }
+    depends_on { CONTENTS_OF 0.Y.d; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members { resolution { veracity_depends_on { CONTENTS_OF 0.XValue } } }
+}
+resolve { proposition eq XValue 2; depends_on { CONTENTS_OF 0.XValue } }
+? eq YValue 2
+consider eq YValue 2
+resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.d }
+    members {
+        resolution {
+            actions { SetBoundValue 0.YValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.YValue }
+        }
+    }
+}
+resolve {
+    proposition eq YValue 2
+    actions { SetBoundValue 0.YValue 2 }
+    depends_on { CONTENTS_OF 0.YValue }
+}
+recheck eq ?Y {{ d 1 e 2 f 3 }} {
+    consider eq ?Y {{ d 1 e 2 f 3 }}
+    resolution_space {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        geometry_depends_on { CONTENTS_OF 0.Y }
+        aperture { VALUE_SET 0.Y }
+        members {
+            resolution {
+                actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.Y }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+        depends_on { CONTENTS_OF 0.Y }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        geometry_depends_on { CONTENTS_OF 0.Y }
+        aperture { VALUE_SET 0.Y }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.d }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'e'; BindValue 0.YValue 0.Y.e }
+    depends_on { CONTENTS_OF 0.Y.e; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members { resolution { veracity_depends_on { CONTENTS_OF 0.XValue } } }
+}
+resolve { proposition eq XValue 2; depends_on { CONTENTS_OF 0.XValue } }
+consider eq YValue 2
+resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.e }
+    members { resolution { veracity_depends_on { CONTENTS_OF 0.YValue } } }
+}
+resolve { proposition eq YValue 2; depends_on { CONTENTS_OF 0.YValue } }
+? ...
+backtrack
+remaining resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.e }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates { { { 'f' } { 0.Y.f } } }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'f'; BindValue 0.YValue 0.Y.f }
+    depends_on { CONTENTS_OF 0.Y.f; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members { resolution { veracity_depends_on { CONTENTS_OF 0.XValue } } }
+}
+resolve { proposition eq XValue 2; depends_on { CONTENTS_OF 0.XValue } }
+consider eq YValue 2
+resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.f }
+    members {
+        resolution {
+            actions { SetBoundValue 0.YValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.YValue }
+        }
+    }
+}
+resolve {
+    proposition eq YValue 2
+    actions { SetBoundValue 0.YValue 2 }
+    depends_on { CONTENTS_OF 0.YValue }
+}
+recheck eq ?Y {{ d 1 e 2 f 3 }} {
+    consider eq ?Y {{ d 1 e 2 f 3 }}
+    resolution_space {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        geometry_depends_on { CONTENTS_OF 0.Y }
+        aperture { VALUE_SET 0.Y }
+        members {
+            resolution {
+                actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.Y }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        actions { SetValue 0.Y {{ d 1 e 2 f 3 }} }
+        depends_on { CONTENTS_OF 0.Y }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?Y {{ d 1 e 2 f 3 }}
+        geometry_depends_on { CONTENTS_OF 0.Y }
+        aperture { VALUE_SET 0.Y }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq YValue 2
+    geometry_depends_on { CONTENTS_OF 0.YValue }
+    aperture { VALUE_SET 0.YValue; VALUE_SET 0.Y.f }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.b }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at X ?XKey ?XValue
+    geometry_depends_on { INDICES_OF 0.X; TYPE_OF 0.XKey; TYPE_OF 0.XValue }
+    aperture { VALUE_SET 0.XKey; VALUE_SET 0.XValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.XKey; set_value 0.XValue }
+            implementation_candidates { { { 'c' } { 0.X.c } } }
+        }
+    }
+}
+resolve {
+    proposition member_at X ?XKey ?XValue
+    actions { SetValue 0.XKey 'c'; BindValue 0.XValue 0.X.c }
+    depends_on { CONTENTS_OF 0.X.c; CONTENTS_OF 0.XKey; CONTENTS_OF 0.XValue }
+}
+consider member_at Y ?YKey ?YValue
+resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'd' } { 0.Y.d } }
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'd'; BindValue 0.YValue 0.Y.d }
+    depends_on { CONTENTS_OF 0.Y.d; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates {
+                { { 'e' } { 0.Y.e } }
+                { { 'f' } { 0.Y.f } }
+            }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'e'; BindValue 0.YValue 0.Y.e }
+    depends_on { CONTENTS_OF 0.Y.e; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {
+        resolution_strategy {
+            action_prototypes { set_value 0.YKey; set_value 0.YValue }
+            implementation_candidates { { { 'f' } { 0.Y.f } } }
+        }
+    }
+}
+resolve {
+    proposition member_at Y ?YKey ?YValue
+    actions { SetValue 0.YKey 'f'; BindValue 0.YValue 0.Y.f }
+    depends_on { CONTENTS_OF 0.Y.f; CONTENTS_OF 0.YKey; CONTENTS_OF 0.YValue }
+}
+consider eq XValue 2
+resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {
+        resolution {
+            actions { SetBoundValue 0.XValue 2 }
+            veracity_depends_on { CONTENTS_OF 0.XValue }
+        }
+    }
+}
+resolve {
+    proposition eq XValue 2
+    actions { SetBoundValue 0.XValue 2 }
+    depends_on { CONTENTS_OF 0.XValue }
+}
+recheck eq ?X {{ a 1 b 2 c 3 }} {
+    consider eq ?X {{ a 1 b 2 c 3 }}
+    resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {
+            resolution {
+                actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+                veracity_depends_on { CONTENTS_OF 0.X }
+            }
+        }
+    }
+    resolve {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        actions { SetValue 0.X {{ a 1 b 2 c 3 }} }
+        depends_on { CONTENTS_OF 0.X }
+    }
+    backtrack
+    remaining resolution_space {
+        proposition eq ?X {{ a 1 b 2 c 3 }}
+        geometry_depends_on { CONTENTS_OF 0.X }
+        aperture { VALUE_SET 0.X }
+        members {  }
+    }
+    backtrack
+    fail_recheck
+}
+backtrack
+remaining resolution_space {
+    proposition eq XValue 2
+    geometry_depends_on { CONTENTS_OF 0.XValue }
+    aperture { VALUE_SET 0.XValue; VALUE_SET 0.X.c }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at Y ?YKey ?YValue
+    geometry_depends_on { INDICES_OF 0.Y; TYPE_OF 0.YKey; TYPE_OF 0.YValue }
+    aperture { VALUE_SET 0.YKey; VALUE_SET 0.YValue }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition member_at X ?XKey ?XValue
+    geometry_depends_on { INDICES_OF 0.X; TYPE_OF 0.XKey; TYPE_OF 0.XValue }
+    aperture { VALUE_SET 0.XKey; VALUE_SET 0.XValue }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition eq ?Y {{ d 1 e 2 f 3 }}
+    geometry_depends_on { CONTENTS_OF 0.Y }
+    aperture { VALUE_SET 0.Y }
+    members {  }
+}
+backtrack
+remaining resolution_space {
+    proposition eq ?X {{ a 1 b 2 c 3 }}
+    geometry_depends_on { CONTENTS_OF 0.X }
+    aperture { VALUE_SET 0.X }
+    members {  }
+}
+backtrack
+{{
+    X {{ a 1 b 2 c 3 }}
+    XKey 'b'
+    XValue 2
+    Y {{ d 1 e 2 f 3 }}
+    YKey 'e'
+    YValue 2
+}}
+No next solution