# Why I Started Documenting Beginner Confusion While Learning Rocq
A few weeks ago, I started learning Rocq.
Not because it was trendy.
Not because it was the most practical choice.
And honestly, not because I thought I was “qualified” to learn formal verification in the first place.
What surprised me most was not how hard the proofs were.
It was how often I didn’t even understand what the exercise was asking.
That realization eventually became the starting point of this project.
</br>
# What I’m Building
I’m building a public collection of “Rocq Confusion Notes” — structured notes documenting the actual confusion I experience while learning Rocq and theorem proving.
The project is not meant to be a polished tutorial series.
Instead, it focuses on:
* beginner learning friction
* misunderstanding patterns
* mental translation processes
* and how understanding gradually forms
Each note tries to capture a moment *before* confusion disappears.
Because once you become more experienced, it becomes surprisingly difficult to remember what being a beginner actually felt like.
</br>
# Who Is This For?
This project is mainly for:
* beginners learning Rocq or formal systems
* people coming from non-technical backgrounds
* learners struggling with abstraction-heavy topics
* developers curious about AI, reliability, and formal verification
* anyone interested in how humans learn alongside AI
I think many technical learning resources unintentionally skip too many steps.
Not because experts want to exclude beginners — but because expertise naturally compresses knowledge.
This project tries to slow that compression down.
</br>
# The Problem I’m Trying to Explore
One thing I noticed while learning Rocq is that beginners are often learning multiple “languages” at the same time.
For example:
* tactic language (`rewrite`, `destruct`, `induction`)
* exercise language (`plus_n_O`, theorem naming conventions)
* proof state language (goals, hypotheses, subgoals)
Sometimes the hardest part is not solving the proof.
It’s understanding what layer of confusion you’re currently stuck in.
Traditional tutorials often focus on correctness.
But beginners also need:
* mental models
* translation layers
* intuition
* and explanations adapted to learning stages
That gap became increasingly interesting to me.
</br>
# Why This Matters To Me
I come from a non-technical background.
A few years ago, I probably would have assumed formal verification was completely inaccessible to someone like me.
Ironically, AI is part of the reason I even entered this world.
Not because AI replaces understanding.
But because it lowers the psychological barrier enough to let people try.
At the same time, learning with AI revealed another problem:
AI often explains things using concepts you haven’t learned yet.
So instead of reducing confusion, sometimes it expands the confusion graph.
This became one of the most interesting parts of the project:
understanding the difference between generating answers and supporting actual learning.
</br>
# What I’ve Learned So Far
One important thing I’ve learned is that confusion itself contains structure.
At first, confusion feels random and emotional.
But after documenting it carefully, patterns start appearing.
For example:
* some confusion comes from naming conventions
* some comes from invisible proof-state transitions
* some comes from abstraction happening too early
* some comes from AI ignoring learning boundaries
I’ve also realized that documenting confusion is time-sensitive.
The more you learn, the harder it becomes to reconstruct what being a beginner actually felt like.
That makes this stage unexpectedly valuable.
</br>
# How AI Influenced My Workflow
AI has become deeply integrated into my workflow.
It helps me:
* rephrase explanations
* test analogies
* organize thoughts
* identify recurring themes
* challenge assumptions
* and sometimes simply keep going when I feel stuck
But AI is also part of what I’m critically examining.
Especially in formal systems like Rocq, AI-generated answers can:
* fail because of version differences
* introduce concepts too early
* appear correct while being practically unusable
So this project is not about “AI replacing learning.”
It’s more about observing how AI changes the experience of learning itself.
</br>
# How People Can Follow or Interact With the Project
Right now, the project exists as:
* public confusion notes
* learning reflections
* Twitter/X posts
* and discussions with other learners
I’m also participating in a Rocq learning group, where we collaboratively work through exercises and proof strategies together.
In the future, I may organize the notes into:
* tagged archives
* beginner guides
* visual proof-state explanations
* or a dedicated website
But for now, the focus is simple:
keep learning, keep documenting, and keep thinking publicly.
</br>
# Where the Project Is Today
The first published note is:
**Rocq Confusion Note #1 — Why I Didn’t Even Understand What the Question Was Asking**
It explores:
* why beginner confusion happens
* how proof states initially felt invisible to me
* and how AI both helped and complicated the process
You can read it here:
[https://hackmd.io/d8uQ5dhmRiu9hMr63VKLmQ](https://hackmd.io/d8uQ5dhmRiu9hMr63VKLmQ)
</br>
---
Maybe beginner confusion is not just noise to eliminate.
Maybe it is valuable data about how humans learn complex systems.
And maybe, in the AI era, understanding how confusion forms is becoming just as important as producing answers.