anchor.diff:              result
           else false
       static member dict entries = dictPlus<string, Term> HashIdentity.Structural entries
  +    static member singleton termName term = Term.dict [(termName, term)]
   
   type [<StructuralEquality; NoComparison>] Subquery =
  +    | Is
       | Eq of Term
       | Gt of Term
       | Ge of Term
  
positive.code: 
      static member eval term subquery =
          match subquery with
          | Eq term2  ->
              Subquery.equalTo term term2
          | Gt term2 ->
  
negative.code: 
      static member private equalTo term term2 =
          match (term, term2) with
          | (Z i, Z i2) -> i = i2
          | (R i, R i2) -> i = i2
          | (Case case', Case case2) -> strEq case' case2
          | (Entity entityId, Entity entityId2) -> entityId = entityId2
          | (Terms terms, Terms terms2) ->
              if terms.Length = terms2.Length
              then List.forall2 Subquery.equalTo terms terms2
  