anchor.diff:        : Result<MuModel, Error> =
           let funcDecls, definites = translateViewDefs reals ctx ds
           let vrules = translateVariables reals ctx funcDecls svars
  -        let trules = xs |> Map.toSeq |> Seq.choose (translateTerm reals ctx funcDecls)
  +
  +        let axseq = Map.toSeq xs
  +        let trules = Seq.choose (translateTerm reals ctx funcDecls) axseq
   
           let tdc = translateDeferredCheck reals ctx funcDecls svars
           let drulesResult = lift (Seq.choose id) (collect (Seq.map tdc cs))
  
positive.code:     /// </returns>
      let run (fixedpoint : Z3.Fixedpoint) (unsafe : Z3.FuncDecl) : MuSat =
          match (fixedpoint.Query [| unsafe |]) with
          | Z3.Status.SATISFIABLE ->
               MuSat.Sat (fixedpoint.GetAnswer ())
          | Z3.Status.UNSATISFIABLE ->
               MuSat.Unsat (fixedpoint.GetAnswer ())
          | Z3.Status.UNKNOWN ->
               MuSat.Unknown (fixedpoint.GetReasonUnknown ())
           | _ -> MuSat.Unknown "query result out of bounds"
  
  /// <summary>
  ///     The Starling MuZ3 backend driver.
  
negative.code:         pars.Add("engine", ctx.MkSymbol("pdr"))
          fixedpoint.Parameters <- pars
  
          let unsafe = ctx.MkFuncDecl ("unsafe", [||], ctx.MkBoolSort () :> Z3.Sort)
          fixedpoint.RegisterRelation unsafe
          let unsafeapp = unsafe.Apply [| |] :?> Z3.BoolExpr
  
          List.iter (uncurry (genViewDefRule reals ctx fm fixedpoint unsafeapp)) ds
  
          Map.iter (fun (s : string) g -> fixedpoint.AddRule (g, ctx.MkSymbol s :> Z3.Symbol)) rs
          Map.iter (fun _ g -> fixedpoint.RegisterRelation g) fm
  