src/HOL/Hyperreal/NSA.ML
changeset 14365 3d4df8c166ae
parent 14336 8f731d3cd65b
equal deleted inserted replaced
14364:fc62df0bf353 14365:3d4df8c166ae
  1086 qed "lemma_SReal_ub";
  1086 qed "lemma_SReal_ub";
  1087 
  1087 
  1088 Goal "(x::hypreal): Reals ==> isLub Reals {s. s: Reals & s < x} x";
  1088 Goal "(x::hypreal): Reals ==> isLub Reals {s. s: Reals & s < x} x";
  1089 by (auto_tac (claset() addSIs [isLubI2,lemma_SReal_ub,setgeI], simpset()));
  1089 by (auto_tac (claset() addSIs [isLubI2,lemma_SReal_ub,setgeI], simpset()));
  1090 by (ftac isUbD2a 1);
  1090 by (ftac isUbD2a 1);
  1091 by (res_inst_tac [("x","x"),("y","y")] hypreal_linear_less2 1);
  1091 by (res_inst_tac [("x","x"),("y","y")] linorder_cases 1);
  1092 by (auto_tac (claset() addSIs [order_less_imp_le], simpset()));
  1092 by (auto_tac (claset() addSIs [order_less_imp_le], simpset()));
  1093 by (EVERY1[dtac SReal_dense, assume_tac, assume_tac, Step_tac]);
  1093 by (EVERY1[dtac SReal_dense, assume_tac, assume_tac, Step_tac]);
  1094 by (dres_inst_tac [("y","r")] isUbD 1);
  1094 by (dres_inst_tac [("y","r")] isUbD 1);
  1095 by (auto_tac (claset() addDs [order_less_le_trans], simpset()));
  1095 by (auto_tac (claset() addDs [order_less_le_trans], simpset()));
  1096 qed "lemma_SReal_lub";
  1096 qed "lemma_SReal_lub";
  1978 \         <= {n. abs (X n) < (u::real)}";
  1978 \         <= {n. abs (X n) < (u::real)}";
  1979 by Auto_tac;
  1979 by Auto_tac;
  1980 qed "lemma_Int_HI";
  1980 qed "lemma_Int_HI";
  1981 
  1981 
  1982 Goal "{n. u < abs (X n)} Int {n. abs (X n) < (u::real)} = {}";
  1982 Goal "{n. u < abs (X n)} Int {n. abs (X n) < (u::real)} = {}";
  1983 by (auto_tac (claset() addIs [real_less_asym], simpset()));
  1983 by (auto_tac (claset() addIs [order_less_asym], simpset()));
  1984 qed "lemma_Int_HIa";
  1984 qed "lemma_Int_HIa";
  1985 
  1985 
  1986 Goal "EX X: Rep_hypreal x. ALL u. \
  1986 Goal "EX X: Rep_hypreal x. ALL u. \
  1987 \              {n. u < abs (X n)}: FreeUltrafilterNat\
  1987 \              {n. u < abs (X n)}: FreeUltrafilterNat\
  1988 \              ==>  x : HInfinite";
  1988 \              ==>  x : HInfinite";