fact: Definition check_trans (res:_lit) (eqs:list _lit) : C.t := match eqs with | nil => let xres := Lit.blit res in get_eq xres (fun t1 t2 => if t1 =? t2 then Lit.lit xres :: nil else C._true) | leq :: eqs => let xeq := Lit.blit leq in get_eq xeq (fun t1 t2 => check_trans_aux t1 t2 eqs res (Lit.nlit xeq :: nil)) end.
imports: Bool List Int63 PArray State SMT_terms