src/HOL/Library/normarith.ML
changeset 33038 8f9594c31de4
parent 32934 a1b6e8d281ce
child 33039 5018f6a76b3f
equal deleted inserted replaced
33037:b22e44496dc2 33038:8f9594c31de4
   284    val _ = if not (forall fst rawdests) then error "real_vector_combo_prover: Sanity check" 
   284    val _ = if not (forall fst rawdests) then error "real_vector_combo_prover: Sanity check" 
   285            else ()
   285            else ()
   286    val dests = distinct (op aconvc) (map snd rawdests)
   286    val dests = distinct (op aconvc) (map snd rawdests)
   287    val srcfuns = map vector_lincomb sources
   287    val srcfuns = map vector_lincomb sources
   288    val destfuns = map vector_lincomb dests 
   288    val destfuns = map vector_lincomb dests 
   289    val vvs = fold_rev (curry (gen_union op aconvc) o FuncUtil.Ctermfunc.dom) (srcfuns @ destfuns) []
   289    val vvs = fold_rev (curry (union op aconvc) o FuncUtil.Ctermfunc.dom) (srcfuns @ destfuns) []
   290    val n = length srcfuns
   290    val n = length srcfuns
   291    val nvs = 1 upto n
   291    val nvs = 1 upto n
   292    val srccombs = srcfuns ~~ nvs
   292    val srccombs = srcfuns ~~ nvs
   293    fun consider d =
   293    fun consider d =
   294     let 
   294     let