|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-LATEX "2024panic-at-equalities.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2024panic-at-equalities.tex" :end))
% (defun C () (interactive) (find-LATEXSH "lualatex 2024panic-at-equalities.tex" "Success!!!"))
% (defun D () (interactive) (find-pdf-page "~/LATEX/2024panic-at-equalities.pdf"))
% (defun d () (interactive) (find-pdftools-page "~/LATEX/2024panic-at-equalities.pdf"))
% (defun e () (interactive) (find-LATEX "2024panic-at-equalities.tex"))
% (defun u () (interactive) (find-latex-upload-links "2024panic-at-equalities"))
% (defun v () (interactive) (find-2a '(e) '(d)))
% (defun cv () (interactive) (C) (ee-kill-this-buffer) (v) (g))
% (defun d0 () (interactive) (find-ebuffer "2024panic-at-equalities.pdf"))
% (code-eec-LATEX "2024panic-at-equalities")
% (find-pdf-page "~/LATEX/2024panic-at-equalities.pdf")
% (find-pdf-text "~/LATEX/2024panic-at-equalities.pdf")
% (find-sh0 "cp -v ~/LATEX/2024panic-at-equalities.pdf /tmp/")
% (find-sh0 "cp -v ~/LATEX/2024panic-at-equalities.pdf /tmp/pen/")
% file:///home/edrx/LATEX/2024panic-at-equalities.pdf
% file:///tmp/2024panic-at-equalities.pdf
% file:///tmp/pen/2024panic-at-equalities.pdf
% http://anggtwu.net/LATEX/2024panic-at-equalities.pdf
% (find-LATEX "2019.mk")
% (find-lualatex-links "2024panic-at-equalities" "pae")
% «.title» (to "title")
% «.abstract» (to "abstract")
% «.first-story» (to "first-story")
% «.second-story» (to "second-story")
% «.third-story» (to "third-story")
% «.the-output-of» (to "the-output-of")
% «.shapes» (to "shapes")
% «.underbraces» (to "underbraces")
% «.avoiding-pathological» (to "avoiding-pathological")
% «.maxima» (to "maxima")
% «.formal-calculations» (to "formal-calculations")
% «.lean» (to "lean")
% «.several-readers» (to "several-readers")
% «.trees» (to "trees")
% «.here-compsci» (to "here-compsci")
% «.subst-steps» (to "subst-steps")
% «.debugability» (to "debugability")
% «.names» (to "names")
% «.set-comprehensions» (to "set-comprehensions")
% «.a-game» (to "a-game")
% «.colleagues» (to "colleagues")
\documentclass[oneside,12pt]{article}
\usepackage[colorlinks,citecolor=DarkRed,urlcolor=DarkRed]{hyperref} % (find-es "tex" "hyperref")
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names,svgnames]{xcolor} % (find-es "tex" "xcolor")
\usepackage{colorweb} % (find-es "tex" "colorweb")
%\usepackage{tikz}
%
% (find-dn6 "preamble6.lua" "preamble0")
%\usepackage{proof} % For derivation trees ("%:" lines)
\input diagxy % For 2D diagrams ("%D" lines)
%\xyoption{curve} % For the ".curve=" feature in 2D diagrams
%
\usepackage{edrx21} % (find-LATEX "edrx21.sty")
\input edrxaccents.tex % (find-LATEX "edrxaccents.tex")
\input edrx21chars.tex % (find-LATEX "edrx21chars.tex")
\input edrxheadfoot.tex % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex % (find-LATEX "edrxgac2.tex")
%\input 2017planar-has-defs.tex % (find-LATEX "2017planar-has-defs.tex")
%
\usepackage[backend=biber,
style=alphabetic]{biblatex} % (find-es "tex" "biber")
\addbibresource{catsem-ab.bib} % (find-LATEX "catsem-ab.bib")
%
% (find-es "tex" "geometry")
\begin{document}
\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"} % (find-LATEX "dednat6load.lua")
% %L dofile "edrxtikz.lua" -- (find-LATEX "edrxtikz.lua")
% %L dofile "edrxpict.lua" -- (find-LATEX "edrxpict.lua")
% \pu
% (find-angg "LUA/Verbatim3.lua" "dednat6")
% (find-Deps1-cps "Verbatim3")
%L dofile "Verbatim3.lua" -- (find-LATEX "Verbatim3.lua")
\pu
\def\DER#1#2{\pmat{\ddx#1=\\#2}}
\def\myfparbox#1#2{\fbox{\parbox{#1}{#2}}}
% _____ _ _ _
% |_ _(_) |_| | ___
% | | | | __| |/ _ \
% | | | | |_| | __/
% |_| |_|\__|_|\___|
%
% «title» (to ".title")
% (paep 1 "title")
% (paea "title")
% (misp 1 "title")
% (misa "title")
\title{Panic! At Equalities}
\author{%
Eduardo Ochs%
%{\large Eduardo Ochs}%
\thanks{eduardoochs@gmail.com}\\
%{\small UFF, Rio das Ostras, RJ, Brasil}\\
}
\maketitle
% (find-LATEX "2022on-the-missing.tex" "abstract")
% _ _ _ _
% / \ | |__ ___| |_ _ __ __ _ ___| |_
% / _ \ | '_ \/ __| __| '__/ _` |/ __| __|
% / ___ \| |_) \__ \ |_| | | (_| | (__| |_
% /_/ \_\_.__/|___/\__|_| \__,_|\___|\__|
%
% «abstract» (to ".abstract")
% (misp 1 "abstract")
% (misa "abstract")
\begin{abstract}
% I teach Calculus 2 and 3 in a place in Brazil --- a second-line
% campus of a big federal university --- that admits many students
These notes show how to apply some ideas from the paper ``On the
Missing Diagrams in Category Theory'' (\cite{OchsMis1}) to
integration.
More precisely: a) I teach Calculus 2 and 3 in a place that admits
students who know very little maths, b) the students are arriving in
Calculus 2 without any of the prerequisites for understanding what
are ``series of equalities in which each step is easy to justify'',
3) in heavy-handed Computer Science terminology the main
prerequisite is a substitution operator called `$[:=]$', and
``justifications for equalities'' are the things that appear after
the `\textsf{by}' in calculational proofs in Lean. The students in
items (a) and (b) are ``children'' in the sense defined in the
introduction of \cite{OchsMis1} --- they need to start from
motivating examples, and only then generalize --- but they have very
little practice with variables; one of the key ideas here is that we
can take many of these ``motivating examples'' from Maxima.
\end{abstract}
% «first-story» (to ".first-story")
% (paep 2 "first-story")
% (paea "first-story")
\section{A first story}
\label{first-story}
Let's start with this,
%
$$\fbox{\parbox{8cm}{
We know that
%
$$a+b=b+a.$$
If we substitute all ocurrences of $a$ by 42 in
that equality we get:
%
$$42+b=b+42.$$
}}
$$
...and call it our ``First Example''. Now let's replace its last line
by a blank,
%
$$\fbox{\parbox{8cm}{
We know that
%
$$a+b=b+a.$$
If we substitute all ocurrences of $a$ by 42 in
that equality we get:
%
$$\_\_\_\_\_\_\_\_\_\_$$
}}
$$
and call that our ``First Question''. One day in 2023 I asked the
First Question to my students (see sec.\ref{who-students} for who they
are) and they froze --- they knew that the answer had to be {\it
either} `$42+b$' or
`$b+42$', but they couldn't decide which... then I said that ``no, no,
no, it's $42+b=b+42$!!!'' --- and they panicked, because
\begin{itemize}
\item for them $42+b$ and $b+42$ were just two ways of
writing the same number,
\item they thought that they couldn't write $42+b=b+42$ ``because it's
too obvious'',
\item if for me `$42+b$', `$b+42$' and `$42+b=b+42$' were three
different things then they were in a class in which the `$=$' sign
would be used in a way that was totally new to the them.
\end{itemize}
I panicked, too --- all the material that I had prepared for that
course supposed that the students knew how to handle {\it
expressions}, and `$42+b$', `$b+42$' are `$42+b=b+42$' are
``obviously'' very different when regarded as expressions... What
could I do?
% «second-story» (to ".second-story")
\section{A second story}
\label{second-story}
% 2hT65: (c2m232tnp 2 "as-perguntas")
% (c2m232tna "as-perguntas")
Our Calculus 2 (``C2'') is mostly about integration, with a bit of
differential equations at the end. Our Calculus 1 (``C1'') is mostly
about limits and differentiation, and in C2 we can suppose that the
students know how to calculate derivatives very well --- because they
had to calculate lots of horrible derivatives to pass the tests in C1.
I've never taught C1.
\msk
So, I was trying to teach integration in C2, and I saw that the
students were having much more difficulty than I expected in the
exercises that involved the chain rule. I had an idea --- an
hypothesis for where the problem could be --- and I decided to test
it. I asked them to spend the last 15 minutes of that class trying to
calculate this,
%
$$\ddx \,f(\sin(x^4) + \ln x)$$
%
and to hand me all their notes; I would analyze what they wrote and
would prepare material to let us work on their difficulties.
The result was much worse than just ``no one of the students got the
right answer''... no one of them had any idea of how to handle the
`$f$', and some of them told me later that they thought that the `$f$'
was ``{\it just notation}''.
% «third-story» (to ".third-story")
\section{A third story}
\label{third-story}
Some days later I discovered that {\sl some} of the students knew that
if $f(u)=\sin u$ and $g(x)=42x$ then we have this,
%
$$f(g(x)) = \sin 42x$$
%
but practically no one was able to substitute only one of the
functions, like this:
%
$$\begin{array}{llll}
\text{if} & g(x)=42x & \text{then} & f(g(x))=f(42x), \\
\text{if} & f(u)=\sin u & \text{then} & f(g(x))=\sin g(x). \\
\end{array}
$$
% «here-compsci» (to ".here-compsci")
\section{Here a computer scientist}
\label{here-compsci}
Here a computer scientist could say: {\sl the problem with these
students is that they don't know substitution well enough}. And we
would show to the students that there is a nice mathematical notation
for this,
%
\begin{quote}
If we substitute all occurrences of $a$ by $x^2$ and all occurrences
of $b$ by $y^3$ in the expression $a+b=b+a$ we obtain this other
expression: $x^2+y^3=y^3+x^2$
\end{quote}
%
that is:
%
$$\def\P#1{\left(#1\right)}
\pmat{a+b=b+a} \bmat{a:=x^2 \\ b:=y^3} = \pmat{x^2+y^3=y^3+x^2}
$$
%
note that this is:
%
$$\pmat{\text{old expression}}
\bmat{\text{substitutions}}
=
\pmat{\text{new expression}}
$$
%
{\sl ...so the students already know substituition! They just need to
learn this notation --- and then we can show them how to define
substitution recursively, and they will understand that this is a
purely syntactical operation, and that this is true,}
%
$$(x + 2 = 5) [x := 4] = (4 + 2 = 5)$$
%
{\sl but this is not:}
%
$$(x + 2 = 5) [x := 4] = (6 = 5)$$
{\sl With this operation we can, for example, test possible solutions
for equations:}
%
% 2cT17: (c2m211substp 5 "testar-hipoteses")
% (c2m211substa "testar-hipoteses")
%
$$\begin{array}{rcl}
(x + 2 = 5) [x := 4] &=& (4 + 2 = 5) \\
&=& (6 = 5) \\
&=& \mathsf{False} \\
\end{array}
$$
Ok, but my students were very bad with variables and definitions --- a
recursive definition would be too much for them. How to handle that?
My current best solution uses examples from Prog 1
(sec.\ref{the-output-of}), examples from Maxima (sec.\ref{maxima}),
trees (sec.\ref{trees}), avoiding pathological cases
(sec.\ref{avoiding-pathological}), and writing for a reader who finds
the operation `$[:=]$' difficult (sec.\ref{several-readers}).
% Nederpelt
% Bound variables
% You are writing for people who don't know the [:=] very well
% _____ _ _ _ __
% |_ _| |__ ___ ___ _ _| |_ _ __ _ _| |_ ___ / _|
% | | | '_ \ / _ \ / _ \| | | | __| '_ \| | | | __| / _ \| |_
% | | | | | | __/ | (_) | |_| | |_| |_) | |_| | |_ | (_) | _|
% |_| |_| |_|\___| \___/ \__,_|\__| .__/ \__,_|\__| \___/|_|
% |_|
%
% «the-output-of» (to ".the-output-of")
\section{The output of}
\label{the-output-of}
In theory all the students in C2 have completed Prog 1, that is a
basic course in programming, using C --- and this means that I can use
some basic examples from programming. For example:
%V #include <stdio.h>
%V int main() {
%V printf("2+3=6\n");
%V }
%L defvbt "prog A"
\pu
%V 2+3=6
%L defvbt "prog A out"
\pu
$$\myfparbox{8cm}{
The output of:
$$\vbt{prog A}$$
is:
$$\vbt{prog A out}$$
}
$$
%
and I can also tell them to imagine the simplest function possible
that replaces characters in a string. It should behave like this:
%
%V replace('a', 'o', "Banana");
%L defvbt "prog B"
\pu
%V Bonono
%L defvbt "prog B out"
\pu
%
$$\myfparbox{8cm}{
The output of:
$$\vbt{prog B}$$
is:
$$\vbt{prog B out}$$
}
$$
If its definition is ``as simple as possible'' then we should have
this,
%
%V replace('a', 'o', "Binini");
%L defvbt "prog C"
\pu
%V Binini
%L defvbt "prog C out"
\pu
%
$$\myfparbox{8cm}{
The output of:
$$\vbt{prog C}$$
is:
$$\vbt{prog C out}$$
}
$$
%
instead of an error like ``I can't replace all `a's by `o's in
``Binini'' because ``Binini'' doesn't have any `a's''.
Also,
\begin{itemize}
\item the students understand that the output of a program can be
``\textsf{Syntax error}'', and that compilers understand a
predefined language --- specified in BNF in the appendix of the
textbook that they used in Prog 1. {\sl That specification may be
too hard for us to understand, but it exists, can be written down,
and the compiler follows it strictly;}
\item compilers they don't try very hard to understand what the users
``mean'', and they don't care if a program is ``too obvious'' (see
sec.\ref{first-story}),
\item in C2 we will have to play several roles (see
sec.\ref{several-readers}), and in some of them we will pretend that
we are computers, and we will sometimes answer ``\textsf{Syntax
error}'',
\item all the programs that the students see in Prog 1 are
deterministic. With this, and with enough examples, the students can
understand that the output of the program that performs this
substitution
%
$$(2+a=6)[a:=3]$$
%
is $(2+3=6)$ --- {\sl and it can't be anything else}.
\end{itemize}
% ____ _
% / ___|| |__ __ _ _ __ ___ ___
% \___ \| '_ \ / _` | '_ \ / _ \/ __|
% ___) | | | | (_| | |_) | __/\__ \
% |____/|_| |_|\__,_| .__/ \___||___/
% |_|
%
% «shapes» (to ".shapes")
\section{Shapes}
\label{shapes}
% (find-books "__analysis/__analysis.el" "apex-calculus")
% (find-books "__analysis/__analysis.el" "apex-calculus" "100" "2.5 The Chain Rule")
% (find-books "__analysis/__analysis.el" "cederj")
% (find-books "__analysis/__analysis.el" "cederj" "113" "12. A regra da cadeia")
% (find-cederjc1v1page (+ 1 117) "Exemplo 12.6")
Many students learn this style in C1 ([CEDERJ], p.117, first lines of
Example 12.6, my translation):
%
\begin{quote}
Let $f(x)=\sin(\cos x)$ for all $x∈\R$. Then $f$ is derivable in
$\R$ and $f'(x)=(-\sin x)\cos(\cos x)$ for all $x∈\R$.
\end{quote}
When they arrive in C2 they only remember it vaguely, and they do
things like this:
%
\begin{quote}
Let $f(x)=\sin(42x)$ for all $x∈\R$. Then $f$ is derivable in
$\R$ and $f'(x)=\cos(42x)$ for all $x∈\R$.
\end{quote}
That style is a nightmare to debug. It is better to convince them ---
or force them --- to use this style,
%
\sa{[CR]}{[CR]}
\sa{(CR1)}{\DER{f(g(x))}{f'(g(x))g'(x)}}
\sa{(CR2)}{\DER{\sin(42x)}{\cos(42x)·42}}
\sa{subst1}{\bsm{ f(u):=\sin u \\ g(x):=42x }}
\sa{subst2}{\bsm{ f(u):=\sin u \\ f'(u):=\cos u \\ g(x):=42x \\ g'(x)=42 }}
\sa{just1}{\text{by $\ga{[CR]}$}}
\sa{just2}{\text{i.e., by $\ga{[CR]}\ga{subst1}$}}
\sa{just3}{\text{i.e., by $\ga{[CR]}\ga{subst2}$}}
\sa{just4}{\text{i.e., by $\ga{(CR1)}\ga{subst2}$}}
\sa{just5}{\text{i.e., by $\ga{(CR2)}$}}
%
$$\begin{array}{rcll}
\ddx(99\sin(42x)) &=& 99 \; \ddx(\sin(42x)) \\
&=& 99·42\cos(42x) \\
\end{array}
$$
%
in which the `$=$'s are aligned vertically and we can add
justifications at the right, like this:
%
$$\begin{array}{rcll}
\ddx(99\sin(42x)) &=& 99 \; \ddx(\sin(42x)) \;\;\; & \text{by \ga{[CMR]}} \\
&=& 99·42\cos(42x) \;\;\; & \text{by \ga{[CR]}} \\
\end{array}
$$
%
where \ga{[CMR]} is the ``Constant Multiple Rule'' and \ga{[CR]} is
the Chain Rule.
When we have a single equality it is easy to take something like this,
in which we start with a justification that is very brief and then
expand it several times,
%
$$\begin{array}{rcll}
\ddx(99\sin(42x)) &=& 99·42\cos(42x) \;\;\;
& \ga{just1} \\
&&& \ga{just2} \\
&&& \ga{just3} \\
&&& \ga{just4} \\
&&& \ga{just5} \\
\end{array}
$$
%
and represent it as a tree...
(Draw the tree)
(Mention decorations)
(Mention the rule CD and directed graphs)
% (misp 9 "the-conventions")
% (misa "the-conventions")
% (misa "the-conventions" "(CD)")
% «underbraces» (to ".underbraces")
\section{Other decorations: underbraces}
\label{underbraces}
% 2hT13: (c2m232introp 12 "sobre-portugues")
% (c2m232introa "sobre-portugues")
$$\def\und#1#2{\underbrace{#1}_{#2}}
\def\setdepthto#1#2{\setbox1\hbox{$#2$}%
\dp1=#1%
\box1}
\def\X {\setdepthto{2pt}{x}}
\def\Y {\setdepthto{2pt}{y}}
\def\X {\mathstrut x}
\def\Y {\mathstrut y}
\def\XSQ {\und{{{\und{\X}{3}}^2}}{9}}
\def\YSQ {\und{{{\und{\Y}{4}}^2}}{16}}
\def\XYSQ{\und{\XSQ+\YSQ}{25} \mathstrut}
\def\LIN {\setdepthto{2pt}{\XYSQ}}
\def\LOUT{\und{\setdepthto{50pt}{\sqrt{\LIN}}}{5}}
\def\ROUT{\und{3+4 \mathstrut}{7}}
\und{\LOUT \;=\; \ROUT}{\False}
$$
% 2hT33: (c2m232carrop 10 "algumas-propriedades")
% (c2m232carroa "algumas-propriedades")
% 2hT74: (c2m232mvp 8 "mais-anotacoes")
% (c2m232mva "mais-anotacoes")
% «avoiding-pathological» (to ".avoiding-pathological")
\section{Avoiding pathological cases}
\label{avoiding-pathological}
$$\Bigl(f(g(x))\Bigr)
\bmat{f(x):=g(g(x)) \\ g(x):=f(f(x))}
= \Bigl(g(g(f(f(x))))\Bigr)
$$
% «maxima» (to ".maxima")
\section{Maxima}
\label{maxima}
% (find-es "maxima" "luatree-rd")
simplification vs evaluation
tricky to turn off simplification: see luatree-rd
Strang p.1
Pathological cases
% (c2m241introp 4 "strang-p1")
% (c2m241introa "strang-p1")
% «formal-calculations» (to ".formal-calculations")
\section{Formal calculations: monkey}
\label{formal-calculations}
Mathologer: video
Derivation in several steps
Continuity as decorations
% «lean» (to ".lean")
\section{Lean}
\label{lean}
% (find-angg ".emacs.papers" "tpinlean" "42" "4.3 Calculational Proofs")
% (find-tpinleanpage (+ 6 42) "4.3 Calculational Proofs")
% (find-tpinleantext (+ 6 42) "Calculational Proofs" "by rw h1")
%V theorem T : a = e :=
%V calc
%V a = b : by rw h1
%V ... = c + 1 : by rw h2
%V ... = d + 1 : by rw h3
%V ... = 1 + d : by rw add_comm
%V ... = e : by rw h4
%L defvbt "Lean"
\pu
$$\vbt{Lean}$$
% «several-readers» (to ".several-readers")
\section{Several readers}
\label{several-readers}
% 2hT4: (c2m232introp 3 "releia-a-dica-7")
% (c2m232introa "releia-a-dica-7")
Dica 7
Write for a reader who doesn't know `$[:=]$' well
(My previous approach failed miserably)
\newpage
% «trees» (to ".trees")
% (paep 7 "trees")
% (paea "trees")
\section{Trees}
\label{trees}
% (find-es "maxima" "luatree-rd")
% (find-es "maxima" "luatree")
% (find-es "sympy" "luatree")
% https://en.wikipedia.org/wiki/Binary_expression_tree#Algebraic_expressions
% https://commons.wikimedia.org/wiki/File:Exp-tree-ex-12.svg
$$\Intx{a}{b}{f'(g(u))g'(u)} = \Intu{g(a)}{g(b)}{f'(u)}$$
%V =___________________.
%V | |
%V integrate__.__.__. integrate__.__.__.
%V | | | | | | | |
%V *___. x a b fp u g g
%V | | | | |
%V fp gp u a b
%V | |
%V g x
%V |
%V x
%L defvbt "MV2 maxima"
\pu
%
$$\vbt{MV2 maxima}$$
%V Equality_______________.
%V | |
%V Integral__. Integral__.
%V | | | |
%V Mul__. Tuple__.__. fp Tuple__.__.
%V | | | | | | | | |
%V fp gp x a b u u g g
%V | | | |
%V g x a b
%V |
%V x
%L defvbt "MV2 sympy"
\pu
%
$$\vbt{MV2 sympy}$$
% (find-es "tex" "minipage")
\newpage
% «subst-steps» (to ".subst-steps")
\section{Substitution in steps}
\label{subst-steps}
%D diagram diamond-1
%D 2Dx 100 +40 +40
%D 2D 100 A1
%D 2D
%D 2D +30 L1 R1
%D 2D
%D 2D +30 B1
%D 2D
%D ren L1 ==> (a+b=b+a)
%D ren A1 ==> (42+b=b+42)
%D ren B1 ==> (a+99=99+a)
%D ren R1 ==> (42+99=99+42)
%D
%D (( L1 A1 -> .plabel= a [a:=42]
%D A1 R1 -> .plabel= a [b:=99]
%D L1 R1 -> .plabel= a \bsm{a:=42\\b:=99}
%D L1 B1 -> .plabel= b [b:=99]
%D B1 R1 -> .plabel= b [a:=42]
%D ))
%D enddiagram
%D
$$\pu
\diag{diamond-1}
$$
%D diagram diamond-2
%D 2Dx 100 +40 +40
%D 2D 100 A1
%D 2D
%D 2D +30 L1 R1
%D 2D
%D 2D +30 B1
%D 2D
%D ren L1 ==> f(g(x))
%D ren A1 ==> \sin(g(x))
%D ren B1 ==> f(42x)
%D ren R1 ==> \sin(42x)
%D
%D (( L1 A1 -> .plabel= a [f(u):=\sin(u)]
%D A1 R1 -> .plabel= a [g(x):=42x]
%D L1 R1 -> .plabel= m \bsm{f(u):=\sin(u)\\g(x):=42x}
%D L1 B1 -> .plabel= b [g(x):=42x]
%D B1 R1 -> .plabel= b [f(u):=\sin(u)]
%D ))
%D enddiagram
%D
$$\pu
\diag{diamond-2}
$$
%D diagram diamond-3
%D 2Dx 100 +60 +60
%D 2D 100 A1
%D 2D
%D 2D +50 L1 R1
%D 2D
%D 2D +50 B1
%D 2D
%D ren L1 ==> \DER{f(g(x))}{f'(g(x))g'(x)}
%D ren A1 ==> \DER{\sin(g(x))}{\cos(g(x))g'(x)}
%D ren B1 ==> \DER{f(42x)}{f'(42x)·42}
%D ren R1 ==> \DER{\sin(42x)}{\cos(42x)·42}
%D
%D (( L1 A1 -> .plabel= a \bsm{f(u):=\sin(u)\\f'(u):=\cos(u)}
%D A1 R1 -> .plabel= a \bsm{g(x):=42x\\g'(x):=42}
%D L1 R1 -> .plabel= m \bsm{f(u):=\sin(u)\\g(x):=42x\\f'(u):=\cos(u)\\g'(x):=42}
%D L1 B1 -> .plabel= b \bsm{g(x):=42x\\g'(x):=42}
%D B1 R1 -> .plabel= b \bsm{f(u):=\sin(u)\\f'(u):=\cos(u)}
%D ))
%D enddiagram
%D
$$\pu
\diag{diamond-3}
$$
% Fix this:
%
% %D diagram diamond-3-minus
% %D 2Dx 100 +60 +60
% %D 2D 100 A1
% %D 2D
% %D 2D +50 L1 R1
% %D 2D
% %D 2D +50 B1
% %D 2D
% %D ren L1 ==> \DER{f(g(x))}{f'(g(x))g'(x)}
% %D ren A1 ==> \DER{\sin(g(x))}{f'(g(x))g'(x)}
% %D ren B1 ==> \DER{f(42x)}{f'(42x)g'(x)}
% %D ren R1 ==> \DER{\sin(42x)}{f'(42x)g'(x)}
% %D
% %D (( L1 A1 -> .plabel= a \bsm{f(u):=\sin(u)}
% %D A1 R1 -> .plabel= a \bsm{g(x):=42x}
% %D L1 R1 -> .plabel= m \bsm{f(u):=\sin(u)\\g(x):=42x}
% %D L1 B1 -> .plabel= b \bsm{g(x):=42x\\g'(x):=42}
% %D B1 R1 -> .plabel= b \bsm{f(u):=\sin(u)\\f'(u):=\cos(u)}
% %D ))
% %D enddiagram
% %D
% $$\pu
% \diag{diamond-3-minus}
% $$
% «debugability» (to ".debugability")
\section{Debugability}
\label{debugability}
Compare Apex Calculus with some other books
% «names» (to ".names")
\section{A problem with names}
\label{names}
% https://groups.google.com/a/dimap.ufrn.br/g/logica-l/c/pTUm2AU4e4M/m/HA4g29e6AwAJ
% Muitos alunos daqui de Rio das Ostras têm muita dificuldade de
% entender que isto aqui é _uma_ função:
%
% $f(x) =
% \begin{cases}
% x^3 & \text{se $x<0$}, \\
% x^2 & \text{se $x \ge 0$} \\
% \end{cases}
% $
%
% Eles acham que isso é (são?) duas funções, e eles têm muita
% dificuldade pra nomes pras coisas, então eles não conseguem dizer que
% as duas funções são estas (que eu vou escrever sem domínios e
% contradomínios por motivos de correria):
%
% $f_1(x) = x^3$
%
% $f_2(x) = x^2$
%
% Depois que a gente escreve isso fica mais ou menos claro que nós
% estamos falando de pelo menos três funções, e que se os alunos não
% derem nomes pra elas melhores do que chamar elas de "a função", "a
% função", "a função", "a função" e "a função", muita coisa pode dar
% errado...
%
% Um modo de decidir qual definição de função é mais "elementar" é
% descobrir qual é mais acessível pra pessoas que sabem pouquíssima
% matemática - ou pra um certo grupo de pessoas que sabem pouquíssima
% matemática. E já que os alunos daqui têm muita dificuldade com nomes e
% letras isso me leva a concluir que isso aqui é uma função "bem
% elementar (pra eles)",
%
% {(0,0), (1,1), (2,4), (3,9)}
%
% desde que
%
% 1) a gente desenhe ela como pontinhos em R^2,
% 2) a gente tenha poucos pontinhos - se tiver infinitos ferrou tudo,
% 3) a gente só use números inteiros pequenos e fáceis de desenhar...
%
% Desculpem o rant antropológico - e nos itens 2 e 3 eu tava pensando em
% como construir outras funções "bem elementares" e em como medir a
% elementaridade de funções, nesse sentido de "elementar pra esses
% alunos no início do curso"...
% «set-comprehensions» (to ".set-comprehensions")
\section{Set comprehensions}
\label{set-comprehensions}
% Mpg8 (mpgp 8 "comprehension")
% (mpga "comprehension")
Mpg8
% «a-game» (to ".a-game")
\section{A game}
\label{a-game}
% 2gT105: (c2m231srp 27 "um-jogo")
% (c2m231sra "um-jogo")
Translate to English; use different names; adapt to drawing the graphs
of functions; include an example of a game with several kinds of ``you
lose''
% «colleagues» (to ".colleagues")
\section{Colleagues}
\label{colleagues}
Slapstick comedy about tenure gone wrong
Convinced some other colleagues that they would attend some of my
classes
Good practices - Riemann sums
Order: stop using your own material, use only the book -- was never
written down
Final report
Discipline, punished, fired
PIP - performance improvement program
I heard from students that they only teach the textbooks
``Isso você já deveria saber''
\cite{OchsMisB}
\printbibliography
\GenericWarning{Success:}{Success!!!} % Used by `M-x cv'
\end{document}
% (find-LATEX "2022on-the-missing.tex" "make-arxiv")
% (find-build-for-arxiv-links "2024panic-at-equalities")
% Local Variables:
% coding: utf-8-unix
% ee-tla: "pae"
% End: