« first day (2 days earlier)      last day (62 days later) » 

02:49
oh wow
almost forgot about lotm
 
4 hours later…
 
1 hour later…
08:29
ah neat
just woke up
i made some progress on the proof this morning
haven't finished the proof yet though
~~bubbler updated the rules but didn't provide a proof~~
😢😢😢
my current proof strategy: unfold all definitions, prove an auxiliary lemma to swap the two elements of the pairs returned by the antidiagonal function
Also obviously you need a custom induction to handle fib
My current proof strategy: Get better at lean! 😆
2
the main lemma is a recursive function, it has two base cases, zero and one and an (n + 2) step
yeah
ok i have to take a shower bye
brb
And I believe you need a lemma about zipping two sums into the sum of one list
The rest should follow by the defs of fib and choose
 
5 hours later…
13:13
0
A: Sandbox for Proposed Challenges

Wheat Witcha + b = b + a This question is a part of the lean LotM. Rings are a type of structure that takes the rules of addition and multiplication we are familiar with and abstracts them, so we can reason about them. Rings can be defined in a number of ways. Usually this involves giving a bunch of axiom...

This is an easier challenge.
At least to solve.
13:32
by ring. :p
Just a joke
Actually I'm not seeing how yours is easier than mine
Well I can prove mine, in lean.
I don't believe that yours has been proven by anyone in Lean yet right?
theorem add_right_inv {A : Type*} [ring A] : ∀ a : A, a + (-a) = 0 :=
begin
  intro a,
  rw ← add_left_id (a + (-a)),
  rw ← add_left_inv (a + (-a)),
  rw ← add_assoc (-(a + (-a))) (a + (-a)),
  conv in (a + (-a) + (a + (-a)))
  begin
    rw ← add_assoc,
    rw add_assoc (-a),
    rw add_left_inv,
    rw add_left_id,
  end,
end

theorem add_right_id {A : Type*} [ring A] : ∀ a : A, a + 0 = a :=
begin
  intro a,
  rw ← add_left_inv,
  rw add_assoc,
  rw add_right_inv,
  rw add_left_id,
end

theorem add_right_cancel {A : Type*} [ring A] {a b : A} (c : A) : c + a = c + b → a = b :=
 
6 hours later…
19:55
0
A: Replace twos with threes

Wheat WitchLean, 139 bytes import data.nat.prime def f:ℕ→ℕ:=λx,begin have k:=nat.factors x,induction k,exact 1,by_cases k_hd=2,exact 3*k_ih,exact k_hd*k_ih,end Try it online! This answer is probably really inefficient in ways I don't yet know but it works. We get a list of factors with nat.factors and use...

Alright I have an answer in lean.
Also if anyone knows how to get around have k:=nat.factors x,induction k, I would love to know.

« first day (2 days earlier)      last day (62 days later) »