#import "@preview/physica:0.9.2": dv
#import "todo_template.typ": todo-add

// Definities, bewijzen, ...
// #import "@preview/lemmify:0.1.5": *
#import "@preview/ctheorems:1.1.2": *
#show: thmrules
#let definition = thmbox("definition", "Definitie", inset: (x: 0.8em, top: 1em))
#let theorem    = thmbox("theorem", "Stelling", fill: rgb("#eeffee"))

////////// Definities

#let def_afgeleide_in_punt = definition("Afgeleide in een punt")[
  Zij $f$ een continue functie over een open interval $I$ en zij $c in I$.
  De *afgeleide* (_derivative_) van $f$ in $c$, genoteerd als $f'(c)$, is
  $ f'(c) = lim_(h->0) (f(c+h)-f(c))/h $ mits de limiet bestaat.
  Als de limiet bestaat zeggen we dat $f$ afleidbaar is in $c$;
  als de limiet niet bestaat, is $f$ niet afleidbaar in $c$.
  Als $f$ *afleidbaar* (_differentiable_) is in elk punt van $I$, noemen we $f$ afleidbaar over $I$.
  Daarnaast noemen we $f$ continu afleidbaar over $I$ indien $f'$ continu is over $I$.
]

// == Eigenschappen van de afgeleide
#let thm_afg_som_verschil = theorem("Eigenschappen van de afgeleide")[
  _Zij $f$ en $g$ afleidbare functies over een open interval $I$
  en zij $c$ een reëel getal, dan geldt:_
  1. *Som-/verschilregel voor afgeleiden:*
  $ dv(,x) lr( (f(x) plus.minus g(x)) ,size: #200%)
   =dv(,x) lr( (f(x)) ,size: #200%) plus.minus 
    dv(,x) lr( (g(x)) ,size: #200%)
   =f'(x) plus.minus g'(x) $
  2. *Vermenigvuldiging met een constante:*
  $ dv(,x) lr( (c dot f(x)) ,size: #200%) 
   = c dot dv(,x) lr( (f(x)) ,size: #200%)
   = c dot f'(x) $
]

// TODO: bold?
#let thm_afg_product = theorem("Productregel")[
  $ dv(,x) lr( (f(x)g(x)) ,size: #200%)
   =f(x)g'(x) +f'(x)g(x) $
]
#let thm_afg_ketting = theorem("De Kettingregel")[
  #todo-add[a]
  $ y' = f'(g(x)) g'(x) $
]