Zulip Chat Archive

Stream: new members

Topic: Is there a proof (or counterexample maybe)? Asking for help


Ilmārs Cīrulis (Aug 30 2025 at 21:03):

... again :sweat_smile:
(Wasted enough time to decide that it's probably reasonable to ask for help.)

import Mathlib

lemma aux (x : ) (H : x  Set.Icc 0 (2 * Real.pi)) (H0 : (Real.Angle.coe (- x)).toReal < 0) :
    x  Set.Ioo 0 Real.pi := by
  sorry

Aaron Liu (Aug 30 2025 at 21:18):

import Mathlib

lemma aux (x : ) (H : x  Set.Icc 0 (2 * Real.pi)) (H0 : (Real.Angle.coe (- x)).toReal < 0) :
    x  Set.Ioo 0 Real.pi := by
  contrapose! H0
  obtain hl, hr := H
  apply eq_or_lt_of_le at hl
  obtain rfl | hx := hl
  · simp
  simp only [Set.mem_Ioo, not_and, not_lt, hx, true_imp_iff] at H0
  rw [Real.Angle.toReal_coe,  toIocMod_add_left,  sub_eq_add_neg,
    (toIocMod_eq_self Real.two_pi_pos).2 by linarith, by linarith]
  linarith

Ilmārs Cīrulis (Aug 30 2025 at 21:19):

Thank you very much! :love:

Ilmārs Cīrulis (Aug 30 2025 at 22:34):

My try with another similar lemma. It was success! :partying_face:

import Mathlib

lemma angle_def_aux01 (x : ) (H : x  Set.Icc (-Real.pi) Real.pi)
    (H0 : 0  (Real.Angle.coe x).toReal) :
    x = - Real.pi  x  Set.Icc 0 Real.pi := by
  have H1 : x = - Real.pi  x  Set.Ioc (- Real.pi) Real.pi := by grind
  obtain H1 | H1 := H1
  · left; exact H1
  · right
    contrapose! H0
    simp at *
    obtain H2, H3 := H1
    apply eq_or_lt_of_le at H3
    obtain H3 | H3 := H3
    · rw [H3] at H0
      linarith [H0 Real.pi_nonneg]
    · obtain H4 | H4 := lt_or_ge x 0
      · rw [Real.Angle.toReal_coe,
           (toIocMod_eq_self Real.two_pi_pos).mpr by linarith, by linarith]
        exact H4
      · linarith [H0 H4]

Last updated: Dec 20 2025 at 21:32 UTC