anchor.diff:      let translate ctx { Globals = svars ; ViewDefs = ds ; Axioms = xs } =
           let funcDecls, definites = translateViewDefs ctx ds
           let vrules = translateVariables ctx funcDecls svars
  -        let trules = xs |> Map.toSeq |> Seq.map (translateTerm ctx funcDecls svars)
  +        let trules = xs |> Map.toSeq |> Seq.choose (translateTerm ctx funcDecls)
   
           { Definites = List.ofSeq definites
             Rules = Seq.append vrules trules |> Map.ofSeq
  
positive.code:             Indented
              [ (String "Definites",
                 ds |>
                 List.map (fun (f, d) -> equality (printZ3Exp f)
                                                  (printZ3Exp d))
                 |> vsep)
                (String "Rules",
                 rs
  
negative.code:         pars.Add("engine", ctx.MkSymbol("pdr"))
          pars.Add("pdr.flexible_trace", true)
          fixedpoint.Parameters <- pars
  
          List.iter
              (fun (view, def) ->
                   match (mkRule ctx fm def Multiset.empty view) with
                   | Some rule -> fixedpoint.AddRule rule
                   | None -> ())
              ds
  
          let unsafe = ctx.MkFuncDecl ("unsafe", [||], ctx.MkBoolSort () :> Z3.Sort)
  