(John ∪ NotaBot)
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Levels ## Levels for vanilla version of LittleX (June 2023) | Level | Equation | Minimum number of moves | | :----| :----| :---: | | 1 | `(+ x + a) = b` | 1 | | 2 | `(* x * c) = d` | 1 | | 3 | `e = (* b / x)` | 2 | | 4 | `d = (+ a - x)` | 2 | | 5 | `(+ (* a * x) - b) = c` | 2 | | 6 | `(* (* a * x) / b = (* c * d)` | 2 | | 7 | `(+ b - e) = (+ c - d - x)` | 3 | | 8 | `(* a * (+ x - b)) = d` | 2 | | 9 | `(* a / x) = (* 1 / b)` | 3 | | 10 | `(* (* a * (+ x + b)) / c) = d` | 3 | | 11 | `(* a * (+ (* b * x) - 1)) = (* a * c)` | 3 | | 12 | `(+ (* a * x) + (* b * x) ) = c` | 2 | | 13 | `(+ (* 1 / x) + a) = b` | 4 | | 14 | `(* a * (+ (* x / a) - b)) = c` | 3 | | 15 | `(+ (* a * x) + b ) = (+ (* c * x) - a` | 4 | ## John's new levels (genus) From working backwards from a final position, I've come up with some interesting levels: ``` x = (+ (* a2 * (+ x - 1)) + (* a1 * c2)) ``` ``` x = (+ (* a3 * (+ x - 1)) + (* a2 * c3)) ``` ``` (+ (* c2 * x) - b2) = (* c2 * (* a2 * c2)) ``` ``` (+ (* (+ x - (* c2 * a2) ) / b1 ) - c1 ) = a1 ``` :::danger more to come ... ::: ## Superpowers orbs super power to upgrade the genus of a genus bubble (or single term) to its next genus orbs can be constrained orbs too, like one with + sign which can only be put on top of a summation expression, etc reveal superpower: convert character to number to simplify a complex expression and earn stars or something cool if you do that, even though level could be solved without that simplification ## Summary | Level | Snapshot | Comments | | :---: | :---: | :---: | | 1 | ![](https://i.imgur.com/x3Angjt.png) | | 2 | ![](https://i.imgur.com/7XM2L9I.png) | | 3 | ![](https://i.imgur.com/Y58K8YT.png) | | 4 | ![](https://i.imgur.com/FHidpMV.png) | | 5 | ![](https://i.imgur.com/ARkEWVT.png) | | 6 | ![](https://i.imgur.com/ZruPhs4.png) | | 7 | ![](https://i.imgur.com/nGAxcoy.png) | | 8 | ![](https://i.imgur.com/jOzALsM.png) | | 9 | ![](https://i.imgur.com/NoYMLeo.png) | | 10 | ![](https://i.imgur.com/N4ocSZB.png) | | 11 | ![](https://i.imgur.com/NLs8gG3.png) | | 12 | ![](https://i.imgur.com/hFmsJhD.png) | | 13 | ![](https://i.imgur.com/Jdq5mhH.png) | | 14 | ![](https://i.imgur.com/cyUV31F.png) | | 15 | ![](https://i.imgur.com/GFjylpw.png) | Awesome level! | | 16 | ![](https://i.imgur.com/MeTDe1M.png) | Needs 1 super-power | ## Blackboard | Upstairs | Downstairs | | :---: | :---: | | ![](https://i.imgur.com/nGAxcoy.png) | ![](https://i.imgur.com/otaTvxe.png) | | ![](https://i.imgur.com/ApQnJCR.png) | ![](https://i.imgur.com/7sLhZDk.png) | | ![](https://i.imgur.com/gOtx4d8.png) | ![](https://i.imgur.com/bdiova9.png) | ![](https://i.imgur.com/EtD8E88.png) | ![](https://i.imgur.com/uxusIae.png) [Jyoti, Anup] We love the idea of showing the combined number on the blackboard! ## Notes from internal genus discussions * What's the narrative reason for combining terms by genus? * Unclear why I should even combine it in `x = a + b` (first level, has x already isolated). Hmm.. thinking. > [name=johnbamberg] I think the narrative issue is offset by the blackboard. * Level 1 to 6 felt dull, since they have trivial genus combinations and it didn't motivate me much to play further..it could be resolved by the party bubble idea we discuss below..what do you think John? > [name=johnbamberg] Alternatively, I think it would be OK if Level 3 was changed slightly. The levels surrounding it do something new, so it is only boring to us really. We could introduce a super-power in Level 3 by changing it to $$(* a2 * x) = b3.$$ * Should unselect the selected term when player clicks outside any term. * Genus narrative motivation idea: * Characters outside any bubble are unhappy and the world is noisy, this is how the level begins. * Characters become happy and noisy once they get inside a genus bubble, and progressively happier as the bubble they are in expands. Sound goes inside the bubble. * While they are becoming happier, we can visually show that the bubble is containing their party noise inside it, thus making x happier and calmer too as the characters get bubbled up among themselves more and more. > [name=johnbamberg] Yes this is good. Also the bubble could visually take on different guises as we change the background theme. So it could literally be a soap bubble for one level, but then it could also be a massive seed pod or something, in a different theme. * Two similar terms should be able to factor out as a common factor even if they have different genus values. Their combined genus can be the highest genus value from either of them, what do you think John? > [name=johnbamberg] Or perhaps the smallest genus? I'm not entirely sure what would make the most sense. Perhaps "smallest" is best as factorisation invariably leads to simplification of the mathematics, but at a cost of reducing the overall genus. * Idea for simplification as a game mechanic: * Once player is well versed enough with isolation + genus as the challenge, we can introduce simplification of expressions also as a challenge in the game maybe by limiting the max number of total characters that can be part of the party bubble on the right side. This is where we need super powers. * Idea for combining numbers with genus terms: * Numbers can just enter the genus bubble without changing the bubble’s genus value * This will help level 11 solve: $(*a2 * (+x + (*1/a2))) = (*d1 * c1)$ * Genus 4 (Genus.D) terms can combine to wrap around to become Genus 1 (Genus.A) * What should happen to the party inside the bubble when 4 and 4 become Genus 1, should the party sound go off? that's why they suddenly sit down and stop having fun? > [name=johnbamberg] Maybe this is OK. Having to be "cruel to be kind" might work. That is, making a whole group unhappy, to later all be happy, is a nice strategy. * Should the first 15 levels only have 5 characters max in the party bubble? > [name=johnbamberg] I'm still thinking about this. I'm a bit worried about putting too much drag into the game. ## Genus-ifying some levels It would be cool to force the user to take a strange route with Level 14. :::success \begin{align} \frac{a(x+b)}{c}=d&\longrightarrow \frac{a\cdot x+a\cdot b}{c}=d\\ &\longrightarrow a\cdot x+a\cdot b=c\cdot d\\ &\longrightarrow a\cdot x=c\cdot d-a\cdot b\\ &\longrightarrow x=\dfrac{c\cdot d-a\cdot b}{a} \end{align} ::: Can we do this with genus? (Genus 1,2,3,4 sequence) :::success \begin{align} \frac{a_3(x+b_3)}{c_2}=d_2&\longrightarrow \frac{a_3\cdot x+a_3\cdot b_3}{c_2}=d_2\\ &\longrightarrow a_3\cdot x+a_3\cdot b_3=c_2\cdot d_2\\ &\Longrightarrow a_3\cdot x+a_3\cdot b_3=c_3\cdot d_3\\ &\longrightarrow a_3\cdot x=c_3\cdot d_3-a_3\cdot b_3\\ &\longrightarrow x=\dfrac{c_3\cdot d_3-a_3\cdot b_3}{a_3} \end{align} ::: Not happy with this. Would be good to put special power here? # Levels breakdown ## Level 1 :::info $x - a = b$ ::: - Introduction to moving a summation term - Introduction to combining summation terms <details> <summary>Solution</summary> :::success $x - a = b$ $x = b + a$ ::: </details> <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, "a")), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 2 :::info $\displaystyle\frac{x}{a}=b$ ::: - Practice for moving and combining product terms <details> <summary>Solution</summary> :::success $x = a . b$ ::: </details> <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("x"), new ProductTerm(Operator.Divide, "a")), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 3 :::info $a\cdot x = b$ ::: - Introduction to moving a term using portal, a product term in this case <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm("x")), rhs: new ProductExpression( new ProductTerm("b")), unknownVariableName: "x" )); ``` </details> ## Level 4 :::info $a\cdot x - b = c$ ::: - Having both a product term and summation term. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new SummationTerm(Operator.Subtract, new Variable("b"))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 5 :::info $\displaystyle\frac{a\cdot x}{b}=c\cdot d$ ::: - Three product expressions and nesting of product expressions. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm("x"), new ProductTerm(Operator.Divide, new Variable("b"))), rhs: new ProductExpression( new ProductTerm("c"), new ProductTerm("d")), unknownVariableName: "x" )); ``` </details> ## Level 6 :::info $a(x - b) = c$ ::: - Introduction to expansion. - Show user that they need to drag $a$ over the bracketed expression. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, "b")))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> --- As you can see from the graph below, there are essentially two paths to a solution, and one has minimum distance 2, the other, 3 steps. This is one way we can account for cost in this level. ![](https://i.imgur.com/Ad2u1he.jpg) ## Level 7 :::info $a(b\cdot x-a)=d$ ::: - More practice at expansion. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("b"), new ProductTerm("x"))), new SummationTerm(Operator.Subtract, new Variable("a"))))), rhs: new SummationExpression( new SummationTerm("d"), new SummationTerm(Operator.Subtract, new Variable("c"))), unknownVariableName: "x" )); ``` </details> ## Level 8 (new) :::info $a\cdot x+b\cdot x=c$ ::: - Factorisation to get one $x$. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new SummationTerm( new ProductExpression( new ProductTerm("b"), new ProductTerm("x")))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 9 :::info $a\cdot x+b=c\cdot x-a$ ::: - x on both sides <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new SummationTerm("b")), rhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("c"), new ProductTerm("x"))), new SummationTerm(Operator.Subtract, new Variable("a"))), unknownVariableName: "x" )); ``` </details> ## Level 10 :::info $\displaystyle\frac{a\cdot (x+b)}{c}=d$ ::: - x is on a numerator <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("b"))), new ProductTerm(Operator.Divide, new Variable("c"))), rhs: new Variable("d"), unknownVariableName: "x" )); ``` </details> ## Level 11 :::info $\displaystyle\frac{x-a}{b}=\displaystyle\frac{c-x}{d}$ ::: - Two x's, but one is positive and the other is negative. :::info \begin{align*} x^2 + 2x + 1 &= 0 \\ (x+1)^2 &= 0 \\ \llap{$\rightarrow$\hspace{50pt}} x &= -1 \end{align*} ::: <details> <summary>Solution</summary> :::success \begin{align*} x - a &= \displaystyle\frac{b \cdot (c - x)}{d} \\ d \cdot (x - a) &= b \cdot (c - x) \\ dx - da &= bc - bx \\ dx &= bc - bx + da \\ dx + bx &= bc + da \\ (d + b) \cdot x &= bc + da \\ x &= \displaystyle\frac{bc + da}{d + b} \\ \end{align*} ::: </details> <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, "a"))), new ProductTerm(Operator.Divide, "b")), rhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm("c"), new SummationTerm(Operator.Subtract, "x"))), new ProductTerm(Operator.Divide, "d")), unknownVariableName: "x" )); ``` </details> ## Level 12 :::info $\displaystyle\frac{a}{x+a}=\displaystyle\frac{b}{x-c}$ ::: - x is on both sides and two denominators - numerators have larger numbers <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( Operator.Divide, new ProductExpression( new ProductTerm("b"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("c")))))), rhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( Operator.Divide, new Variable("x"))), unknownVariableName: "x" )); ``` </details> ## Level 13 :::info $\displaystyle\frac{a}{b\cdot(x+c)}=\displaystyle\frac{b}{x}$ ::: - More practice where $x$ is on both sides, denominators, and expansion is involved! <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( Operator.Divide, new SummationExpression( new SummationTerm("x"), new SummationTerm("a")))), rhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( Operator.Divide, new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, new Variable("c"))))), unknownVariableName: "x" )); ``` </details> ## Level 14 :::info $\displaystyle\frac{1}{x}=\displaystyle\frac{a}{x+b}$ ::: - 1 appears in this one. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("1"), new ProductTerm( Operator.Divide, new Variable("x"))), rhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( Operator.Divide, new SummationExpression( new SummationTerm("x"), new SummationTerm("b")))), unknownVariableName: "x" )); ``` </details> ## Level 15 :::info $\displaystyle\frac{1}{x}+a=b$ ::: - Fractions mixed with addition. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("1"), new ProductTerm( Operator.Divide, new Variable("x"))), new SummationTerm("a")), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 16 :::info $\displaystyle\frac{x-a}{x+b}=c$ ::: - The numerator and denominator has $x$ <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, new Variable("a"))), new ProductTerm(Operator.Divide), new SummationExpression( new SummationTerm("x"), new SummationTerm("b"))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 17 :::info $\displaystyle\frac{a\cdot x-b}{-c+d\cdot x}=b$ ::: - making the linear terms more complicated, and having x on numerator and denominator. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new SummationTerm(Operator.Subtract, new Variable("b")))), new ProductTerm(Operator.Divide, new SummationExpression( new SummationTerm(Operator.Subtract, new Variable("c")), new SummationTerm( new ProductExpression( new ProductTerm("d"), new ProductTerm("x")))))), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 18 :::info $\displaystyle\frac{-x+a}{b\cdot x}+d=c$ ::: - Now there is a choice of whether to multiply by denominator or subtract $d$ <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm(Operator.Subtract, new Variable("x")), new SummationTerm("a"))), new ProductTerm(Operator.Divide, new ProductExpression( new ProductTerm("b"), new ProductTerm("x"))))), new SummationTerm("d")), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 19 :::info $a\cdot(x+b)+x=-c\cdot x$ ::: - Three $x$'s <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("b"))))), new SummationTerm("x")), rhs: new SummationExpression( new SummationTerm(Operator.Subtract, new ProductExpression( new ProductTerm("c"), new ProductTerm("x")))), unknownVariableName: "x" )); ``` </details> ## Level 20 :::info $a\cdot (x-b\cdot x)=c\cdot x+d$ ::: - Three x's, needing expansion and factoring. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm(Operator.Subtract, new ProductExpression( new ProductTerm("b"), new ProductTerm("x")))))), rhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("c"), new ProductTerm("x"))), new SummationTerm("d")), unknownVariableName: "x" )); ``` </details> ## Level 21 :::info $\displaystyle\frac{1}{x}-\displaystyle\frac{a}{x}=b$ ::: - Hurdle level <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("1"), new ProductTerm(Operator.Divide, new Variable("x")))), new SummationTerm(Operator.Subtract, new ProductExpression( new ProductTerm("a"), new ProductTerm(Operator.Divide, new Variable("x"))))), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 22 :::info $((x+b)\cdot a-c)\cdot b=d$ ::: - nested brackets <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("b"))), new ProductTerm("a"))), new SummationTerm(Operator.Subtract, new Variable("c")))), new ProductTerm("b")), rhs: new Variable("d"), unknownVariableName: "x" )); ``` </details> ## Level 23 :::info $b\cdot (c\cdot x - a\cdot (x+b))=d$ ::: - practice with nested brackets <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("c"), new ProductTerm("x"))), new SummationTerm(Operator.Subtract, new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("b")))))))), rhs: new Variable("d"), unknownVariableName: "x" )); ``` </details> ## Level 24 :::info $a\cdot \displaystyle\frac{x}{b\cdot(x+c)}=d$ ::: - practice with nested brackets <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new ProductExpression( new ProductTerm("x"), new ProductTerm(Operator.Divide, new ProductExpression( new ProductTerm("b"), new ProductTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("c")))))))), rhs: new Variable("d"), unknownVariableName: "x" )); ``` </details> ## Level 25 (Challenge Level 1) Every now and then, there could be a challenge level that the user can try of their own will to earn some new thing in the game. :::info $\displaystyle\frac{a\cdot(d-b\cdot x)+c}{e}=\left(a+b\cdot\left(\displaystyle\frac{x}{f}-a\right)\right)\cdot c$ ::: <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm( new SummationExpression( new SummationTerm("d"), new SummationTerm(Operator.Subtract, new ProductExpression( new ProductTerm("b"), new ProductTerm("x"))))))), new SummationTerm("c"))), new ProductTerm(Operator.Divide, "e")), rhs: new ProductExpression( new ProductTerm( new SummationExpression( new SummationTerm("a"), new SummationTerm( new ProductExpression( new ProductTerm("b"), new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("x"), new ProductTerm(Operator.Divide, "f"))), new SummationTerm(Operator.Subtract, "a"))))))), new ProductTerm("c")), unknownVariableName: "x" )); ``` </details> --- # Indices ## Level 26 :::info $(x+a)^b=c$ ::: - indices: apply inverse power <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("a") ) ), new ExponentialTerm( Operator.Exponent, new Variable("b") ) ), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 27 :::info $x^b-a=c^d$ ::: - indices: apply inverse power <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm( Operator.Exponent, new Variable("b") ) ) ), new SummationTerm(Operator.Subtract, "a") ), rhs: new ExponentialExpression( new ExponentialTerm("c"), new ExponentialTerm(Operator.Exponent, "d") ), unknownVariableName: "x" )); ``` </details> ## Level 28 :::info $(a\cdot x+b)^c=d^e$ ::: - indices: apply inverse power <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new SummationTerm("b"))), new ExponentialTerm(Operator.Exponent, "c")), rhs: new ExponentialExpression( new ExponentialTerm("d"), new ExponentialTerm(Operator.Exponent, "e")), unknownVariableName: "x" )); ``` </details> ## Level 29 :::info $\displaystyle\frac{a}{x^b}=c$ ::: - indices: apply inverse power <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm(Operator.Divide, new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "b")))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 30 :::info $x^{\frac{1}{a}}=b$ ::: Change to ... :::success $\left(x^{\frac{1}{a}}\right)^a=b$ ::: - composition of exponents becomes a product (becomes 1) - fractional indices <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new ProductExpression( new ProductTerm("1"), new ProductTerm(Operator.Divide,"a"))))), new ExponentialTerm( new ExponentialTerm(Operator.Exponent, "a"))), rhs: new Variable("b"), unknownVariableName: "x" )); ``` </details> ## Level 31 :::info $(x+c)^{\frac{b}{a}}=d$ ::: - practice with fractional indices <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new SummationExpression( new SummationTerm("x"), new SummationTerm("c"))), new ExponentialTerm(Operator.Exponent, new ProductExpression( new ProductTerm("b"), new ProductTerm(Operator.Divide,"a")))), rhs: new Variable("d"), unknownVariableName: "x" )); ``` </details> ## Level 32 :::info $x^a(x^b)=c$ ::: - addition of indices <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "a"))), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "b")))), rhs: new Variable("c"), unknownVariableName: "x" )); ``` </details> ## Level 33 :::info $b\cdot x^a=\displaystyle\frac{x^c}{d}$ ::: - subtraction of indices <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "a")))), rhs: new ProductExpression( new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "c"))), new ProductTerm(Operator.Divide, "d")), unknownVariableName: "x" )); ``` </details> ## Level 34 :::info $x^a = b^c$ ::: Change to :::success $(d\cdot x)^{-a} = b^c$ ::: - power law of indices <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new ProductExpression( new ProductTerm("d"), new ProductTerm("x"))), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm(Operator.Subtract,"q")))), rhs: new ExponentialExpression( new ExponentialTerm("b"), new ExponentialTerm(Operator.Exponent, "p")), unknownVariableName: "x" )); ``` </details> ## Level 35 :::info $d\cdot x^a = b\cdot x^c$ ::: - practice <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("d"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "a")))), rhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "c")))), unknownVariableName: "x" )); ``` </details> ## Level 36 :::info $b\cdot x^a=\displaystyle\frac{c}{d}$ ::: Change to :::success $b\cdot x^p=\displaystyle\frac{c}{x^{q-p}}$ ::: - Difference of exponents cancels once law of indices used. <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("b"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "p")))), rhs: new ProductExpression( new ProductTerm("c"), new ProductTerm(Operator.Divide, new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm("q"), new SummationTerm(Operator.Subtract, "p")))))), unknownVariableName: "x" )); ``` </details> ## Level 37 :::info $(a\cdot x^{1/p})^p=b+c$ ::: - practice <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ExponentialExpression( new ExponentialTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new ProductExpression( new ProductTerm("1"), new ProductTerm(Operator.Divide, "p") )))))), new ExponentialTerm(Operator.Exponent, "p")), rhs: new SummationExpression( new SummationTerm("b"), new SummationTerm("c")), unknownVariableName: "x" )); ``` </details> ## Level 38 :::info $x\cdot (c\cdot x^p+b)=c\cdot x^{p+1}$ ::: - practice <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("x"), new ProductTerm( new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm("c"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "r"))))), new SummationTerm("b")))), rhs: new ProductExpression( new ProductTerm("c"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm("r"), new SummationTerm("1")))))), unknownVariableName: "x" )); ``` </details> ## Level 39 :::info $\dfrac{a\cdot x^p}{b\cdot x^q}=d\cdot x^{p-q-1}$ ::: - practice <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new ProductExpression( new ProductTerm("a"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "p"))), new ProductTerm(Operator.Divide, new ProductExpression( new ProductTerm("b"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "q")))))), rhs: new ProductExpression( new ProductTerm("d"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm("p"), new SummationTerm(Operator.Subtract,"q"), new SummationTerm(Operator.Subtract,"1") ))))), unknownVariableName: "x" )); ``` </details> ## Level 40 :::info $x^q\cdot (x^p\cdot b)+(a\cdot x)^{p+q}=d\cdot e^q$ ::: - challenge <details> <summary>Code (click to expand)</summary> ```csharp levels.Add(new Equation( lhs: new SummationExpression( new SummationTerm( new ProductExpression( new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, "q"))), new ProductTerm( new Product Expression( new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent,"p"))), new ProductTerm("b"))))), new SummationTerm( new ExponentialExpression( new ExponentialTerm( new ProductExpression( new ProductTerm("a"), new ProductTerm("x"))), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm("p"), new SummationTerm("q")))))))), rhs: new ProductExpression( new ProductTerm("d"), new ProductTerm( new ExponentialExpression( new ExponentialTerm("x"), new ExponentialTerm(Operator.Exponent, new SummationExpression( new SummationTerm("p"), new SummationTerm("q")))))))), unknownVariableName: "x" )); ``` </details> # Logarithms ## Level 41 :::info $a^x=b$ ::: > The solution is $x=\log_ab$. How do we want this to look? What is the mechanic? https://math.stackexchange.com/questions/30046/alternative-notation-for-exponents-logs-and-roots ## Level 42 :::info $a^{b\cdot x}=c+d$ ::: --- # Concepts to cover Open questions: - start with symbols alone? Difficulty progression: - Simple equation with one variable (4) a. 5x = 20 b. 8+2(x-4) = 16 c. 3x-5 = 10 - Simple equation with negative numbers () a. -x-4 = 11 b. - One fraction equation a. -3/4x = 10/13 b. (5x+1)/17 = 3 - Fraction linear equation a. 2/3x – 3/2x = 1/12 b. c. x-(1-3x/2)/4 = (2-x/4)/3-11/12 d. 3x/5-2 = 2x/5 e. (x + 11)/(x + 6) = 6 f. 1/2(10-4x) - 1/4(4x+12) = 0 - Expanding brackets a. 2(x + 3) - 10 = 6(32 - 3x) b. -(x + 2) = 2(3x - 6) - Factoring terms into brackets - Nested brackets - Equation with multiple x’s a. 4x-7(2-x) = 3 x + 2 b. (x + 2) (x + 3) + (x – 3) (x – 2) – 2x(x + 1) = 0 c. x/6-1=1/3(9-3x) - Equations with multiple variables a. - Indices - Log equations - Sin/cos equations

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully