def test_basic(self): natural = "Let $n$" lean = "intros n A1" context = Context() context.current_goal = ForAllNatIneqThen( "n", Inequality.from_natural(r"$n \leq N$"), r"|b_n - l| < \epsilon$") test_bijective(self, LetNInequality, natural, lean, context)
def test_fail(self): context = Context() natural = r"Let $\epsilon$" lean = "intros ε A1" context.current_goal = ForAll( "n", Inequality(Identifier("a"), InequalityType.GT, Identifier("b"))) self.assertIsNone(LetGoalLimit.from_natural(natural, context)) self.assertIsNone(LetGoalLimit.from_lean(lean, context))
def test_basic(self): context = Context() RealValuedSequences.from_natural("$a_n, b_n, c_n$ are real-valued", context) RealDeclaration.from_natural(r"$l \in \mathbb{R}$", context) SequenceLimit.from_natural(r"$a_n \rightarrow l$", context) context.current_goal = SequenceLimit.from_natural( r"$b_n \rightarrow l$", context) LetGoalLimit.from_natural(r"Let $\epsilon$", context) natural = r"Let's choose $N_a$ such that H1 uses $\epsilon$" lean = r"cases H1 ε A1 with N_a A2" test_bijective(self, ChooseNEpsilonLimit, natural, lean, context)
def test_basic(self): context = Context() natural = r"Let $\epsilon$" lean = "intros ε A1" context.current_goal = SequenceLimit("b", "l") test_bijective(self, LetGoalLimit, natural, lean, context)