src/Pure/thm.ML
changeset 19230 3342e7554b77
parent 19012 2577ac76cdc6
child 19305 5c16895d548b
equal deleted inserted replaced
19229:7183628d7b29 19230:3342e7554b77
   617 
   617 
   618 (*The assumption rule A |- A*)
   618 (*The assumption rule A |- A*)
   619 fun assume raw_ct =
   619 fun assume raw_ct =
   620   let val Cterm {thy_ref, t = prop, T, maxidx, sorts} = adjust_maxidx raw_ct in
   620   let val Cterm {thy_ref, t = prop, T, maxidx, sorts} = adjust_maxidx raw_ct in
   621     if T <> propT then
   621     if T <> propT then
   622       raise THM ("assume: assumptions must have type prop", 0, [])
   622       raise THM ("assume: prop", 0, [])
   623     else if maxidx <> ~1 then
   623     else if maxidx <> ~1 then
   624       raise THM ("assume: assumptions may not contain schematic variables", maxidx, [])
   624       raise THM ("assume: variables", maxidx, [])
   625     else Thm {thy_ref = thy_ref,
   625     else Thm {thy_ref = thy_ref,
   626       der = Pt.infer_derivs' I (false, Pt.Hyp prop),
   626       der = Pt.infer_derivs' I (false, Pt.Hyp prop),
   627       maxidx = ~1,
   627       maxidx = ~1,
   628       shyps = sorts,
   628       shyps = sorts,
   629       hyps = [prop],
   629       hyps = [prop],