Amazing video. I only would slow down both the pace of exposition and animation, with some different use of color. Nonetheless amazing
@shortc1rcuit32623 күн бұрын
Incredible video! What I’m wondering is if the code for the chess puzzles could be reworked/extended to a sudoku game? Someone did make sudoku in lean before but it required you to know the solution beforehand/get a computer to solve it first. I feel like with your method, that wouldn’t be necessary.
@dwrensha23 күн бұрын
Yes, encoding sudoku in a similar manner should be quite possible. I expect it would be a fun exercise, if you wanted to try it. Note also that Lean 4 has "user widgets" that support arbitrary visualization, but I still think there's a strong appeal to encoding everything directly in Lean syntax.
@shortc1rcuit32621 күн бұрын
It seems that KZbin removes my reply if I include a link to my code, but it works! It's very much a prototype right now, but I was able to solve a *very* simple sudoku (i.e. only one number was missing). I think this could be really cool.
@dwrensha21 күн бұрын
Nice! Yeah, KZbin really doesn't like links in comments.
@shortc1rcuit32621 күн бұрын
It seems that KZbin is so trigger happy with this that I can't even put the name of the repository here, so I guess I'll have to give it in the form of a riddle. It's on Github. I'm the person who added the BMO questions to Compfiles.
@shortc1rcuit32621 күн бұрын
It won't even let me describe where I put the code.
@Sjoerd-gk3wr24 күн бұрын
when you showed the problem I paused the video and tried to solve the problem myself, and 40 minutes later I had solved my first IMO question ever without help in the same way you did
@dwrensha24 күн бұрын
Wow, cool!
@aze430825 күн бұрын
awesome
@patrik864125 күн бұрын
Also I think it'd be useful during each frame to show how the current "proving goal" fits into the bigger picture. Like a small visualization of the proof tree next to the main visualization.
@patrik864125 күн бұрын
Nice! Please make more. It's very cool seeing how Lean can prove different theorems in practice, such as IMO ones.
@lame_lexem26 күн бұрын
amazing video will wait for more lean prover content!
@pmmeurcatpics26 күн бұрын
This video made me look up Lean, and now I've completed all the Games on the site that you showed, and i really liked them! Wish there were more of them or something like them. The only idea I've had was formalizing some of the proofs that we have at the uni for fun, but not much else, which is unfortunate. Maybe I can now rewatch some of the other videos on your channel where you prove theorems from olympiads or something, since that went way over my head on the first watch
@swathikumar98029 күн бұрын
bro, only one question. from which planet are you? nice work
@AIShippedАй бұрын
Amazing video! How did you animate your visuals and how long does it usually take?
@dwrenshaАй бұрын
Software I used for this video: Manim, Blender, OBS, GIMP, Final Cut Pro, and Apple Motion. It took me about a month to do all the animation, video editing, and audio recording.
@AIShippedАй бұрын
@@dwrensha wow, that is a crazy amount of dedication! love to see it!
@dwrenshaАй бұрын
I should clarify that the Blender animations took only a couple days, because now that I have automatic tools to create them, those are straightforward to crank out. It's all the lead-up that took so long.
@AIShippedАй бұрын
@@dwrensha oh i see
@authenticallysuperficial9874Ай бұрын
Wow! Great work
@connemignonneАй бұрын
oh my god I have been thinking about trying to do this exact thing for the last couple weeks and you have already done it
@connemignonneАй бұрын
I have been thinking about trying to make a videogame around the calculus of inductive constructions to spoonfeed theorem proving to people but where the expressions already in your environment are like cards in your hand with different abilities and where you also have a few contextual tactics you can apply to the goal
@dwrenshaАй бұрын
@@connemignonne Have you tried the Natural Number Game? It does a pretty good job at presenting a non-overwhelming set of possible next moves.
@connemignonneАй бұрын
@@dwrensha I have looked at it a little bit but I should play more, I'm always so impressed with the whole Lean community. What I really want to do is make something that doesn't scare off people who are afraid of notation or maybe the idea of it even really being a math activity rather than just a puzzle game. I have lots of friends who really enjoy games like Magic The Gathering but who believe that they could never be good at math, even though the way they think through their strategy in-game is no less deductively sophisticated than a math proof. So I was hoping that presenting it all in a more familiar format (and putting it on a platform like Steam or for the Switch) would make it more accessible to people, but so far I've spent most of my development time over the past couple weeks just messing around with font rendering and not even making a start with the core systems. I wasn't sure whether I would want to build it off of Lean or just make my own bespoke less sophisticated thing, since trying to build a game around actual Lean itself seems like it could be challenging. But this video has made me think that I should consider it more.
@joeeeee8738Ай бұрын
I didn't understand anything but it looked like a fabulous project!
@kak2zeАй бұрын
An amazing idea and great execution! It would be cool to add a visual grammar of animations for the different tactics so it's instantly obvious what's happening: for `rfl` for instance you could make the symbols jump in sync on either side of the expression as they disappear, for proof by assumption the respective assumption can be briefly highlighted etc.
@dwrenshaАй бұрын
I agree that would be cool!
@strangeWatersАй бұрын
I was thinking of doing a project like this, this is super cool. There's another project called Lean Widgets that lets you embed visualizations directly in the proof state, it could be fun to have an interactive version of this in there.
@luiswirthАй бұрын
wow, great work
@jit_rsАй бұрын
That's incredibly creative, especially the animated chess demo. I knew that Lean had meta programming, but this took it to a new level!
@somchoАй бұрын
good job i like how the exposition finally came out. I remember you demoing this in the lean immunity meeting and wondering how you were going to use
@qwqeqrqtqzАй бұрын
This looks really good. Maybe using Blender for the animation is a bit overkill. Have you thought about using manim since you are using python anyway?
@dwrenshaАй бұрын
Yes, Manim would work too! I'm in fact using Manim in this video for almost everything that isn't a Blender animation. Although it's not strictly needed here, one thing I have found to be tricky in Manim is drawing an animation that has multiple independent things happening simultaneously.
@qwqeqrqtqzАй бұрын
@@dwrensha I believe, and don't quote me on that, there is a way to assign with indices which symbol in an original line if text corresponds to which symbol in the resulting line of text when animating one line of text transforming into another
@JoshuaBarrettoАй бұрын
This is really making me want to learn Lean, thanks for the superb video!
@dwrenshaАй бұрын
You should do it!
@RPG_Guy-fx8nsАй бұрын
I think you should change the color of the text you are about to transform, so people are looking at that part when the animation begins.
@dwrenshaАй бұрын
Ah, thanks! That particular idea had not occurred to me. I would like to add standard syntax coloring to the Lean code, and I have also imagined maybe highlighting hypotheses when they get used (e.g. `rw [hab]` would highlight the hypothesis `hab` in addition to transforming the target).
@taylormanning2709Ай бұрын
This makes Lean way more accessible (at 0.5x speed)
@redpepper74Ай бұрын
It’s so cool right? But yeah I could _not_ figure out what was going on so there was a lot of pausing and rewinding for me lol
@goesbymoonАй бұрын
oh my GOD this is so cool wow
@atifatif8897Ай бұрын
great video! are you using lean in emacs?
@dwrenshaАй бұрын
Affirmative!
@aze4308Ай бұрын
woahhhh
@aze4308Ай бұрын
“end of proof, end of video” nice and succinct
@dwrenshaАй бұрын
I didn't say it in the video, so I'll say it now: thanks for watching!
@aze4308Ай бұрын
nice
@danproposkanovovskiАй бұрын
Cool video. Somewhere in the elaboration of rewrite to an actual call to the eliminator for equality, you should have the motive i.e. precisely the context pointing out the locations being rewritten that your greedy matcher is trying to reconstruct.
@dwrenshaАй бұрын
That's good to know! Not all goal transitions are rewrites, but maybe other kinds of transitions have similar ways to get the precise correct matching.
@oneofvalts2 ай бұрын
Gold, real gold. Thank you so much for this videos.
@oneofvalts3 ай бұрын
Impeccable content!!! This editing style fits this kind of video so well.
@NStripleseven5 ай бұрын
How many times can you acronym the same word while retaining that all parts of the string have some relevance to the original meaning?
@dwrensha5 ай бұрын
Yeah, that's a fun challenge, especially if you're not allowed to reuse words!
@Nylspider6 ай бұрын
Took me a surprisingly long time to figure out that the thumbnail puzzle’s solution was “First”
@tom77 ай бұрын
I think the real thing to fix about Lean is that it should play the explosion sound whenever you use well-founded induction!
@ster26007 ай бұрын
Suckerpinch Lean content???? 🥺👉👈
@francescominnocci7 ай бұрын
yes please
@aze4308Ай бұрын
yes pleaseeee
@luck-xc7dy7 ай бұрын
ive never been more confused 😅
@goesbymoon7 ай бұрын
woah!!! super cool :> i remember having a similar max_heartbeats error when trying to use the continuity tactic a while back. maybe i should pop by the zulip chat and say hi to everyone there
@yyyxyxyxxyyxxy7 ай бұрын
time to get my mind BLOWN
@zachbattleman61387 ай бұрын
Such a great video! We need more Lean content like this!!
@kalei498 ай бұрын
i have never watched this video, but from the thumbnail in my recommended what i took away was that 'nicer' is a good word to open with in wordle. turns out that is not at all what the video is about but /is/ what i've been playing with for weeks now and having pretty decent success, so i just figured that the video was right. turns out i literally just made up that fact myself.
@dwrensha8 ай бұрын
I don't think "nicer" is a particularly bad word to start with! But yeah that's not what this video is about at all. I hope you found it interesting, even if it was not what you expected!
@NiGHTcapD9 ай бұрын
I think that the way the wordlist is compressed is similar to the way pokemon sprites were originally compressed? I have to assume, because you did not explain.
@UNKN0WN_B0T10 ай бұрын
Crazy video!
@RyanLynch111 ай бұрын
great video. thank you for making this!
@Rudxain11 ай бұрын
Combine the last one with *recursive acronyms,* apply acronimization to infinity, and you've got *THE ULTIMATE WORD FRACTAL*
@dwrensha11 ай бұрын
When one recurses deeply, finding reasonable answers can take a lifetime!
@Rudxain11 ай бұрын
@@dwrensha and sometimes the age of the universe, haha
@nanopi11 ай бұрын
FIRST
@funkdefied111 ай бұрын
I love that the first acronym you show is for SCUBA, which is ALREADY an acronym. (Self Contained Underwater Breathing Apparatus)
@fireyblackdragon11 ай бұрын
about the thumbnail: is the solution word "first"? it was the only one I could think of given the colors. Most wordle-esque designs like that tend to be impossible, just using random coloring.
@aze430811 ай бұрын
what is the estimated completion date now
@dwrensha11 ай бұрын
For the past week, we've been getting something like 100 new words per day. If we keep that up, then it might take only 7 years or so.
@mydearaniryx782911 ай бұрын
FIRST
@msclrhd11 ай бұрын
I wonder if it would make sense to encode the data as a trie first. That way, you can take advantage of the sparsity of the data. Another trick could be to pack the branches of the trie into a 26bit integer, with one bit per letter -- i.e. each bit indicates whether the letter is used. Using your 7bits per byte from the base 125 encoding, that gives 4 bytes per trie node with 2 bits for additional information. Because all words are 5 letters, you don't need to store an "end of string" marker. Note: I haven't calculated how many bytes this encoding/approach will need for the complete trie data structure. You then just need to order them in a way that makes it easy to walk the trie in a compact decoder algorithm that prints out the words.
@dwrensha11 ай бұрын
some of this sounds similar to what Luke G is doing in the currently-first-place submission: www.luke-g.com/modeling-5-letter-english-words/
@claytonharting989911 ай бұрын
I was looking for an example to show how math and computer science can be applied in an interesting way to a magic system (on the author’s request). This is a perfect video to share. It’s short, well explained, and very interesting