text:
1. Announcement:
05-10-2017
Views:
1,892
Page 16 of 91 First 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 66 ... Last
Threads 901 to 960 of 5451

Forum: Probability

Probability course and homework discussion. Probability distributions. Probability theory, stochastic processes

1. Sticky: We only provide homework help to those who show effort

Welcome to Talk Stats Forum. In order to keep homework help effective and efficient, we request all members to abide by these guidelines: 1)...

• Replies: 0
• Views: 30,330
09-30-2005, 09:44 AM
1. The Gamblers Fallacy and Regression to the Mean

Hi, so first time posting and all. I'm not a statistician by degree or trade (actually an engineer), so a little confused by something, and was...

• Replies: 5
• Views: 9,347
10-10-2013, 02:27 PM
2. Complex probability relating to NYC taxi cabs

There are 13,000 taxi cabs in New York City. Let's say I have taken 600 rides (each one in a random cab). What are the chances that I have...

• Replies: 5
• Views: 2,322
12-30-2013, 10:21 AM
3. Probability of deviation in sample proportion

Hi! I’m very new to statistics and I’m stuck on what formula to use for an assignment. I have the information that 32.19 % of my population is...

• Replies: 5
• Views: 1,819
10-19-2013, 01:49 PM
4. How to find the probability of a podium finish

Say in a race there are 22 competitors and say that the probability of driver A of winning the race is 55%. How can one calculate the probability of...

• Replies: 5
• Views: 2,190
10-08-2013, 10:57 PM
5. Probability and standard deviation

Dear Members, I am struggling with this particular problem and I am not sure about my answers. If anybody could verify them that would be of great...

• Replies: 5
• Views: 4,234
11-25-2013, 12:10 AM
6. Coin Toss

Hi, There are three people, A, B ,C, tossing a coin. The first one to get heads wins, they toss in succession in the order ABC, show the...

• Replies: 5
• Views: 2,339
plm
11-17-2013, 11:54 AM
7. Amateur has a question please

My wife and I have been married for 30 years. During all this time neither my wife, nor her father (my father-in-law), have had an auto accident. We...

• Replies: 5
• Views: 1,929
11-02-2013, 08:54 PM
8. (Simple) proof for the arithmetic mean?

Hello. I am having trouble trying to figure out a way to answer this homework exercise: "Prove that the arithmetic mean cannot be greater than the...

• Replies: 5
• Views: 2,129
02-05-2014, 03:48 PM
9. Number of trials in zero-sum game

Hi all, this is my first post here! Forgive me if it's not in the right place. I have a question that's been bugging me because I tend to be...

• Replies: 5
• Views: 2,029
03-14-2014, 08:20 AM
10. Probability question

I need a probability question answering as soon as possible and i though this might be the place to come. There are 13 balls in a hat being...

• Replies: 5
• Views: 1,894
03-02-2014, 11:36 PM
11. Coin Flip and calling randomly

If there is a coin flip contest and there is a coin flipper continuously flipping the coin and there are three contestants 1. Always Calls Heads...

• Replies: 5
• Views: 1,605
03-10-2014, 08:47 AM
12. First stats course. need help with this problem

a tree stand has 12 douglas firs, 10 maples, 3 hemlocks, and 7 cedars. if you randomly select 6 trees, what is the probability that at least 2 of...

• Replies: 5
• Views: 2,268
03-11-2014, 02:10 PM
13. A probability question

Dear all This may be simple for you guys but I would be grateful for some advice on the following: A bus stop layby is only long enough for 2...

• Replies: 5
• Views: 1,599
BGM
04-09-2014, 07:50 AM
14. Conditional Probability?

What is the probability on a single roll of a pair of dice, that the sum is 6, given that at least one die came up 1? I'm thinking that there are...

• Replies: 5
• Views: 1,680
04-12-2014, 11:20 PM
15. Probability of a sequence....

HI Folks, New to the forum. It's nice to find a forum in this area. I hope someone can help me out. My goal is to determine if it is possible to...

• Replies: 5
• Views: 2,488
07-12-2014, 06:41 PM
16. Logistic Regression Problem

Hi! My collegue is developing a logistic regression to predict the probability of a customer taking up a particular credit card. Let's call...

• Replies: 5
• Views: 2,233
07-28-2014, 09:57 AM
17. Probability that Bernoulli p-parameter is greater than some value, given N samples?

Hello everybody, I have the following question. Assume I observe N outcomes from a Bernoulli random variable with unknown success parameter p....

• Replies: 5
• Views: 2,348
08-14-2014, 01:52 PM
18. probability poisson distributed

hi can somebody help me with this question please.

• Replies: 5
• Views: 2,161
09-01-2014, 10:25 AM

kindly help (or provide hints) on below question: Suppose that you pay $1024 to enter a coin tossing game. A biased coin with head probability... • Replies: 5 • Views: 2,397 BGM 10-16-2014, 12:48 AM 20. Secret santa problem Hi everybody At my work we just started a secret santa game. We are 6 and we ended up getting an outsider to mix 6 pieces of paper, each with one... • Replies: 5 • Views: 2,253 11-28-2014, 06:26 PM 21. Computing MLE estimate So I have so i'm stuck at taking the log :mad: can somoene help me ? • Replies: 5 • Views: 2,195 01-06-2015, 01:17 PM 22. Confidence Intervals Hi I am new to stats and really spending lots of time on concepts which I can build on, I thought I was fairly comfortable with confidence... • Replies: 5 • Views: 2,559 12-19-2014, 03:12 AM 23. Calculating Sensitivity and Specificity of Combined Testing...With a Surprise. Ok guys. I have an interesting question. I'm a biomedical engineering student from Georgia Tech and for one of my classes I have to implement... • Replies: 5 • Views: 1,554 02-03-2015, 09:35 AM 24. Stuck with a (i think) simple problem Hi everybody, I have a question here that I'm completely brain frozen with.. (I'm not the youngest anymore, and I can't seem to wrap my brain around... • Replies: 5 • Views: 1,855 02-05-2015, 01:39 PM 25. Binomial Distribution Question Hey guys, I have a bit of trouble understanding this binomial distribution question According to the call center statistics of a company, on... • Replies: 5 • Views: 1,879 03-05-2015, 10:43 AM 26. Thumbs Up or Down on my logic Very rusty on my statistics and will appreciate validation or correction on my thinking. "Fair" playing field - 88 players (18 in red shirts, 70... • Replies: 5 • Views: 1,547 BGM 03-21-2015, 02:30 PM 27. Exercises with answers Hello probabilitygeniuses I am very new to probabilities and would like to ask if there are online resources with loads of probability... • Replies: 5 • Views: 2,416 04-26-2015, 09:29 AM 28. probability of 8 successes out of 256 events Hi all hope you are well, i was trying to calculate what the probability of getting exactly 8 successes in 256 events. I used a Binomial on line... • Replies: 5 • Views: 1,511 05-25-2015, 06:12 AM 29. Newbie here, would appreciate some help. Hey guys. First post here and it's a bit basic so sorry about that. I have created an analogy to the problem I have. Say I have 8 balls, 4 of... • Replies: 5 • Views: 1,991 08-27-2015, 02:15 PM 30. Determine distribution and parameters I have a question but maybe it's the wrong question so I'll state the task first... I want to make data that looks like the data I'm working with... • Replies: 5 • Views: 1,598 09-21-2015, 09:13 PM 31. Conditional Probability http://i.imgur.com/9UELFY5.png Here is the problem in question. I have the answers for both of these already,but I am not sure I have 2b correct. ... • Replies: 5 • Views: 1,198 12-14-2015, 05:18 PM 32. Assistance with Monte Carlo Method for Board GAme Outcomes 16 cards. The cards have up to four values. I need assistance building a data set I can analyze. Simulating a starting hand, and... • Replies: 5 • Views: 1,898 01-27-2016, 06:58 PM 33. Best To Draw First Or Last? Hi, newbie non mathematician looking for an answer to a long debated question in angling. When fishing a competition we draw a random number (say... • Replies: 5 • Views: 2,006 01-20-2016, 01:46 PM 34. How to calculate the odds that Team A will beat Team B given their records to date? I would like to find a formula to calculate the probability that Team A will beat Team B taking into account just their records to date. For... • Replies: 5 • Views: 3,511 02-23-2016, 02:16 PM 35. Probability question Let's say we have 60 balls of which 17 are red and the rest black. If I pick 7 balls at random, what is the probability that i picked at least 3 red... • Replies: 5 • Views: 1,394 02-25-2016, 02:32 PM 36. Probability of opposite of mean I am trying to calculate the probability of reverse preferences for an outcome. I have the mean and standard deviation of the predicted outcome, how... • Replies: 5 • Views: 1,889 03-03-2016, 07:12 AM 37. Manufacturing machine probability problem There are three possible environment conditions: normal, rainy and hot. Rainy and hot days may be risky to a system that has been deployed, but... • Replies: 5 • Views: 3,262 03-06-2016, 02:29 AM 38. Paper Notes in a Bag Hello all, I have this problem, which I am not fully sure how to solve: In a bag there are 18 paper notes. On five of them there is the digit... • Replies: 5 • Views: 1,347 06-15-2016, 06:47 AM 39. Calculating Probabilities If a mechanical fault in a car occurs once in every 120 days, and I drive the car 260 days per year, what is the probability of a mechanical fault... • Replies: 5 • Views: 1,120 07-20-2016, 12:59 PM 40. Probability of an attribute in one member of a population Wondering whether the following can be calculated (or whether more info is needed). Here's the population: A - 224,000,000 (72.5%) B - ... • Replies: 5 • Views: 2,231 09-28-2016, 04:03 PM 41. Help please on calculating probabilities of certain coin-flip outcomes Hi all, (Note: this is not a request for help with "homework"; I'm 51 years old and am trying to learn on my own, through my own "assignments" to... • Replies: 5 • Views: 1,185 04-28-2017, 06:10 PM 42. Union and intersection 43% of adults are stockholders. 75% of adult stockholders have some college education. 37% of adults have some college education. An adult is... • Replies: 5 • Views: 1,950 03-18-2017, 06:05 PM 43. Probability of developing a lung cancer disease I need to solve this problem: A cohort study is done to assess the impact of smoking on lung cancer. In this study, a large representative sample... • Replies: 5 • Views: 2,073 03-01-2017, 06:30 PM 44. Bayesian exercise -2 down vote favorite I cant get my head round the following exercise: You are testing dice for a casino to make sure that sixes do not come up... • Replies: 5 • Views: 3,175 01-18-2017, 01:56 PM 45. MGF of sample mean of IID poisson RVs I am given the MGF of IID RVs as e^{\lambda(e^t-1)} and am supposed to find the MGF of their sample mean of n such RVs. I have am arriving at ... • Replies: 5 • Views: 2,752 02-14-2017, 08:26 PM 46. Help with Confidence Intervals The questions regarding confidence intervals and population means are hard to understand: Please help me set them up in a formula and solve. #3 ... • Replies: 4 • Views: 6,327 09-26-2005, 10:01 AM 47. I need help please!!! A mail order company receives an average of five orders per 500 solicitations. If it sends out 100 advertisements, find the probability of receiving... • Replies: 4 • Views: 9,978 10-09-2005, 08:51 PM 48. can you help with this as well!? Suppose that 20% of all subscribers to a business magazine earn an income greater than$100,000. If the magazine takes a random sample of 20...

• Replies: 4
• Views: 3,230
11-03-2005, 03:15 PM
49. in the movies

can someone help me!!!!! i've been stuck in this problem for hours now!!! ack!!!! heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelp meeeeeeeeeeeeeeeeeeeeeeee...

• Replies: 4
• Views: 3,806
11-11-2005, 04:53 PM
50. Hi I need help w/ sampling distribution.

HI, I'm taking statistics and i was trying to solve a problem, but I couldn't solve it. I was wondering if you could help me out. Here's the...

• Replies: 4
• Views: 4,605
11-11-2005, 07:49 PM
51. Help!

I'm working on this problem and I am completely lost. There there anyone out there that can help me. I see the problem worked out in the book, but...

• Replies: 4
• Views: 3,582
12-02-2005, 03:49 PM
52. Help with normal distribution! (please!)

Hi, I'm looking through some past papers for an exam I have this weekend and have come across this strange binomial distribution question, that's...

• Replies: 4
• Views: 3,620
12-06-2005, 03:00 PM
53. Probability question

Here is the problem: To get to work, a commuter must cross train tracks. The time the train arrives varies slightly from day to day , but the...

• Replies: 4
• Views: 9,633
12-15-2005, 11:13 AM
54. Am I on the right track for this one?

The height of people in a certain population is approx. normally distributed with a mean of 67 inches and a standard deviation of 3.4 inches....

• Replies: 4
• Views: 2,741
02-08-2006, 12:59 AM
55. Bidding question - (Uniform Probability Distribution)

Suppose you are interested in bidding on a piece of land and we know one other bidder is interested. The seller announced that the highest bid in...

• Replies: 4
• Views: 19,074
02-14-2006, 12:26 PM

Page 16 of 91 First 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 66 ... Last

Use this control to limit the display of threads to those newer than the specified time frame.

Allows you to choose the data by which the thread list will be sorted.

Note: when sorting by date, 'descending order' will show the newest results first.


text:
# Lambda calculus vending machine

Select spec:
λ-cube
(∗,□)
(□,□)
(□,∗)
λ∗
λU
λU−
λZ
Custom
fix
Nat 0 pred succ ifz add mul
Bool true false if

Demos:
[new slogan]
Write code:
Enjoy!

How do we create the above? We begin with a humbler goal: to augment System Fω with an abstraction that maps terms to types.

Recall we already 3 abstractions: one for mapping terms to terms (lambda calculus), one for types to terms (universal types), and one for types to types (type operators). Once we add the term-to-type abstraction (dependent types), we obtain the calculus of constructions; see Coquand and Huet. In this system, it turns out type checking is still decidable, and well-typed terms are still strongly normalizing.

We could extend our data types to support yet another flavour of abstraction and application, but we let’s pause and reflect. Already, code duplication is rife in our interpreters: the Kind, Type, and Term data types are similar, and type-level beta reduction and evaluation closely mirrors the corresponding term-level routines.

Isn’t an expression just one big tree? Can we design a data type to represent nodes of any variety, be it term, type, or kind? Perhaps an enum to distinguish between the cases?

## One simple data structure

Incredibly, we can represent terms, types, and kinds in one simple data structure. Duplicate code almost vanishes completely: what little that remains (mostly overlap between the Lam and Pi cases) would likely be messier if we zealously removed every last repetition.

{-# LANGUAGE CPP #-}
#ifdef __HASTE__
import Haste.DOM
import Haste.Events
import System.Random
#else
#endif
import Data.Bool
import Data.Char
import Data.List
import Data.Maybe
import Data.Tuple
import Text.ParserCombinators.Parsec

data Term = S String | V String | Lam String Term Term | Pi String Term Term
| App Term Term
| Prim String [Term]   -- For optional language primitives.

In our code, we call the data type Term, but it really is a pseudo-term because it represents a node at any level: terms, types, kinds, and so on.

We define the V constructor for constants and variables of all varieties: term variables, type variables, kinds variables, and beyond. The Lam constructor is for abstractions, again for all sorts: terms, types, and so on, which can map to terms, types, and so on. The App constructor plays a similar role for applications. So far, our data structure is almost the same as the Term data structure we defined for untyped lambda calculus!

Base types are held in a V variant, for example V "Nat" or V "Bool". We represent the base kind * as S "*". We’ll sometimes overload the word “type” to mean any type, or the base kind *.

The Pi constructor is for types that are built from these. It generalizes the arrow type we encountered in simply typed lambda calculus as well as the universal type we encountered in System F and HM, which is why our parser accepts forall in place of pi. Some examples:

• The type Nat -> Bool becomes Pi "_" (V "Nat") (V "Bool"). The string value is unused when representing arrow types. We choose the underscore to, shall we say, underscore this fact.

• The type 'forall X::*.X becomes Pi "X" (S "*") (V "X").

As we can mix terms and types in any order a Pi variant, it can represent dependent types, that is, the type of an abstraction that takes terms to types.

We’ll discuss the Prim constructor later.

Here’s the code to compare pseudo-terms:

instance Eq Term where
t1 == t2 = f [] t1 t2 where
f _      (S s) (S t) = s == t
f alpha  (V s) (V t)
| Just t' <- lookup s alpha            = t' == t
| Just _  <- lookup t (swap <$> alpha) = False | otherwise = s == t f alpha (Pi s ks x) (Pi t kt y) | not (f alpha ks kt) = False | s == t = f alpha x y | otherwise = f ((s, t):alpha) x y f alpha (Lam s ks x) (Lam t kt y) | not (f alpha ks kt) = False | s == t = f alpha x y | otherwise = f ((s, t):alpha) x y f alpha (App a b) (App c d) = f alpha a c && f alpha b d f _ _ _ = False  and to print them: showArrow t u = showL t ++ "->" ++ showR u where showL (Lam _ _ _) = "(" ++ show t ++ ")" showL (Pi _ _ _) = "(" ++ show t ++ ")" showL _ = show t showR (Lam _ _ _) = "(" ++ show u ++ ")" showR (Pi "_" _ _) = show u showR (Pi _ _ _) = "(" ++ show u ++ ")" showR _ = show u instance Show Term where show (Prim s a) = "{" ++ s ++ "[" ++ intercalate ", " (show <$> a) ++ "]}"
show (S s)          = s
show (V v)          = v
show (Lam x t u)    = "\0955" ++ x ++ ":" ++ show t ++ "." ++ show u
show (Pi  "_" t u)  = showArrow t u
show (Pi  x t u) | x notElem fv [] u = showArrow t u
show (Pi  x t y)    = "\0960" ++ x ++ ":" ++ show t ++ "." ++ show y
show (App x y)      = showL x ++ showR y where
showL (Pi _ _ _)  = "(" ++ show x ++ ")"
showL (Lam _ _ _) = "(" ++ show x ++ ")"
showL _           = show x
showR (V s)       = ' ':s
showR _           = "(" ++ show y ++ ")"

and to parse them (the axiom keyword will be explained later):

data PTSLine = Empty | TopLet String Term | Axiom String Term | Run Term

line :: ([String], [String]) -> Parser PTSLine
line (ss, syn) = between ws eof $option Empty$
axiom <|> (try $TopLet <$> v <*> (str "=" >> term))
<|> (Run <$> term) where axiom = str "axiom" >> Axiom <$> v <*> (str "=" >> term)
keywords = ["forall", "pi", "axiom"] union
bool [] ["ifz", "then", "else"] ("ifz" elem syn) union
bool [] ["if",  "then", "else"] ("if"  elem syn)
term = ifzPerhaps $ifPerhaps$ pi <|> lam <|> arr
ifzPerhaps = bool id (ifzthenelse <|>) $"ifz" elem syn ifPerhaps = bool id (ifthenelse <|>)$ "if"  elem syn

ifzthenelse = Prim "ifz" <$> sequence [str "ifz" >> term, str "then" >> term, str "else" >> term] ifthenelse = Prim "if" <$> sequence
[str "if" >> term, str "then" >> term, str "else" >> term]

lam = flip (foldr $uncurry Lam) <$> between lam0 lam1 (many1 vt) <*> term where
lam0 = str "\\" <|> str "\0955"
lam1 = str "."
pi = flip (foldr $uncurry Pi) <$> between pi0 pi1 (many1 vt) <*> term where
pi0 = str "forall" <|> str "pi" <|> str "\0960" <|> str "\8704"
pi1 = str "."
vt   = (,) <$> v <*> option (S$ head ss) ((str "::" <|> str ":") >> term)
<|> between (str "(") (str ")") vt
arr = (app <|> (foldr1 (<|>) $(S <$>) . str <$> ss)) chainr1 (str "->" >> pure (Pi "_")) app = foldl1' App <$> many1 ((V <$> v) <|> between (str "(") (str ")") term <|> between (str "[") (str "]") term) v = try$ do
s <- many1 alphaNum
when (s elem keywords) $fail$ "unexpected " ++ s
ws
pure s
str s = try $do void$ string s
let c = last s
when (isAlphaNum c && isAscii c) $notFollowedBy alphaNum ws pure s ws = spaces >> optional (try$ string "--" >> many anyChar)

No surprises; or perhaps the surprise is that the code is so similar to the corresponding functions in our previous interpreters.

## Type checking

The Lam and Pi variants have the same fields, and act similarly in parts of our code, but:

• The type of a Lam is a Pi. The type of a Pi is an S.

• Evaluating Lam means beta reduction. Evaluating Pi means nothing; it’s just type information.

We seed our system the results of certain type checks and kind checks, which we collectively call judgements, such as:

Nat : *
0 : Nat
Bool : *
true : Bool

This is similar to defining base types and constants in simply typed lambda calculus.

We have special cases to handle if and ifz, but otherwise judging a pseudo-term is similar to typing terms in our previous interpreters:

• Each variable should be bound, and its type should be built from the value S "*", and the V and Pi variants. The V values denote (bound) type variables or base types.

• In an application, the first term must be an abstraction, and the second term must be something the abstraction expects.

• Terms and types may be freely mixed.

• To determine if two types match, we normalize them before comparing. To determine if a type represents an abstraction, we find the weak head normal form first.

However, unlike our previous interpreters, we represent terms and types in the same data structure, so the eval and norm functions work for both.

Our implementation is naive. As a result, our type checking may be incomplete. It works for our examples so we tolerate the sloppiness.

## Pure Type Systems

With a few tweaks, not only can our code be reused to interpret any vertex of the lambda cube, but also an infinite number of exotic typed lambda calculi beyond those we’ve seen so far.

We start by defining a set of valid S values, known as sorts. For the calculus of combinations, there are two:

1. S "*"

2. S "□"

[Instead of a box, we sometimes use a question mark for easier typing, and also because I have no idea why they chose the box symbol.]

The first value S "*" represents the base kind, that is, the type of types. The box value represents the type of the base kind, which we state as the axiom:

* : □

Then an expression is valid if and only if the type of its type is one of these two values. The type of the type of a term is * and the type of the type of a type is .

Once we get used to two levels of indirection, then the above becomes concise and elegant. We do something twice to an expression, and if we wind up with one of two strange symbols then we know it’s valid, and furthermore, whether it’s a term or a type.

Next, consider a value Pi x a b. Here s is a variable name, and a and b are terms. Suppose the type of a is * and the type of b is . Our Pi is the type of some Lam abstraction, and by the above, this abstraction must map terms to types (because the type of the type of input is * and the type of the type of the output is ).

Reasoning in this way, we see that if Pi x a b is the type of a valid Lam abstraction, the type of a must be one of * or and the type of b must also be one of * or , and furthermore, their types tell us whether the input and output of the abstraction are terms or types.

Thus by restricting the types that a and b may have, we limit the abstractions allowed in our language. For example, if we stipulate that (a, b) must be one of:

(*, *)
(□, □)

then a well-typed Lam abstraction can only map terms to terms, or types to types, that is, we have the system $$\lambda\underline{\omega}$$.

Similarly, restricting (a, b) to one of:

(*, *)
(□, *)

results in System F, that is, maps from terms to terms plus maps from types to terms.

The tuples describing allowable types of the terms of a Pi value are called rules. The sorts, axioms, and rules fully specify a Pure Type System (PTS); our code holds them in a parameter named sar.

Usually, the type of Pi x a b is the type of b, but sometimes we want it to have a different type, so a rule is a 3-tuple of sorts: the first 2 are the types of a and b, and the last is the type of the Pi x a b.

judge sar@(axioms, rules) env@(gamma, lets) term = case term of
Prim "if" [x, y, z] -> do
t <- eval lets <$> rec x case t of V "Bool" -> do ty <- norm lets <$> rec y
tz <- norm lets <$> rec z when (ty /= tz)$ Left $"if types: " ++ show y ++ " /= " ++ show z pure ty _ -> Left$ "if want Bool: " ++ show x
Prim "ifz" [x, y, z] -> do
t <- eval lets <$> rec x case t of V "Nat" -> do ty <- norm lets <$> rec y
tz <- norm lets <$> rec z when (ty /= tz)$ Left $"if types: " ++ show y ++ " /= " ++ show z pure ty _ -> Left$ "ifz want Nat: " ++ show x
S s1 | Just s2 <- lookup s1 axioms -> pure $S s2 V v | Just t <- lookup v gamma -> pure t Lam x a m -> do r <- Pi x a <$> judge sar ((x, a):gamma, lets) m
s <- rec r
case s of S _ -> pure r
_   -> Left $"Lam: " ++ show term Pi x a b -> do t1 <- rec a t2 <- judge sar ((x, a):gamma, lets) b case (t1, t2) of (S s1, S s2) | Just s3 <- lookup (s1, s2) rules -> pure$ S s3
| otherwise -> Left $"Pi no R: " ++ s1 ++ " " ++ s2 _ -> Left$ "Pi want S S: " ++ show term
App m n -> do
p <- rec m
case eval lets p of
Pi x a b -> do
a' <- rec n
when (norm lets a /= norm lets a') $Left$ "App: " ++ show a ++ " /= " ++ show a'
pure $beta (x, n) b _ -> Left$ "App want pi: " ++ show term
_ -> Left $"_: " ++ show term where rec = judge sar env  Beta reduction is mostly unchanged: beta (v, a) term = case term of S _ -> term V s | s == v -> a | otherwise -> term Lam s t m | s == v -> term | s elem fvs -> let s1 = newName s fvs in Lam s1 (rec t)$ rec $rename s s1 m | otherwise -> Lam s (rec t) (rec m) Pi s t m | s == v -> term | s elem fvs -> let s1 = newName s fvs in Pi s1 (rec t)$ rec $rename s s1 m | otherwise -> Pi s (rec t) (rec m) App m n -> App (rec m) (rec n) Prim s xs -> Prim s$ rec <$> xs where fvs = fv [] a rec = beta (v, a) newName x ys = head$ filter (notElem ys) $(s ++) . show <$> [1..] where
s = dropWhileEnd isDigit x

fv vs (S _)               = vs
fv vs (V s) | s elem vs = []
| otherwise   = [s]
fv vs (Lam s x y)         = fv vs x union fv (s:vs) y
fv vs (Pi s x y)          = fv vs x union fv (s:vs) y
fv vs (App x y)           = fv vs x union fv vs y
fv vs (Prim _ xs)         = foldr1 union $fv vs <$> xs

rename x x1 term = case term of
S _               -> term
V s | s == x      -> V x1
| otherwise   -> term
Lam s t b
| s == x    -> term
| otherwise -> Lam s t (rec b)
Pi s t b
| s == x    -> term
| otherwise -> Pi s t (rec b)
App a b           -> App (rec a) (rec b)
where rec = rename x x1

## Evaluation

For each language primitive, the prim function looks up its arity, type, and Haskell function. The types of if and ifz are undefined because they are found during type checking.

toPrim1 f = \env [x] -> f (eval env x)
toPrim2 f = \env [x, y] -> f (eval env x) (eval env y)
toPrimNat1 f = toPrim1 g where g (V s) = V $show$ f (read s :: Integer)
toPrimNat2 f = toPrim2 g
where g (V s) (V t) = V $show$ f (read s :: Integer) (read t :: Integer)

prim "succ" = (1, Pi "_" (V "Nat") (V "Nat"), toPrimNat1 (+1))
prim "pred" = (1, Pi "_" (V "Nat") (V "Nat"), toPrimNat1 $max 0 . (+(-1))) prim "add" = (2, Pi "_" (V "Nat") (Pi "_" (V "Nat") (V "Nat")), toPrimNat2 (+)) prim "mul" = (2, Pi "_" (V "Nat") (Pi "_" (V "Nat") (V "Nat")), toPrimNat2 (*)) prim "fix" = (2, Pi "A" (S "*") (Pi "_" (Pi "_" (V "A") (V "A")) (V "A")), \env [x, y] -> eval env$ App y $Prim "fix" [x, y]) prim "if" = (3, undefined, \env [x, y, z] -> let x' = eval env x in case x' of V "true" -> eval env y V "false" -> eval env z _ -> Prim "if" [x', y, z]) prim "ifz" = (3, undefined, \env [x, y, z] -> let x' = eval env x in case x' of V s -> case readInteger s of Just 0 -> eval env y Just _ -> eval env z _ -> Prim "ifz" [x', y, z] _ -> Prim "ifz" [x', y, z]) readInteger s = listToMaybe$ fst <$> (reads s :: [(Integer, String)])  The eval function remains about the same except for a special case for evaluating a primitive once enough arguments have been supplied. eval env (Prim s args) | n == length args = f env$ args where
(n, _, f) = prim s
eval env (App m a) = let m' = eval env m in case m' of
Lam v _ f -> eval env $beta (v, a) f Prim s args -> eval env$ Prim s (args ++ [a])
_ -> App m' a
eval env term@(V v) | Just x <- lookup v env = case x of
V v' | v == v' -> x
_              -> eval env x
eval _   term = term

norm env term = case eval env term of
S s       -> S s
V v       -> V v
-- Record abstraction variable to avoid clashing with let definitions.
Lam v t m -> Lam v (norm env t) $norm ((v, V v):env) m Pi v t m -> Pi v (norm env t)$ norm ((v, V v):env) m
App m n   -> App (rec m) (rec n)
Prim s a  -> Prim s $norm env <$> a
where rec = norm env

## User Interface

Our elaborate vending machine requires tedious data entry. We list the predefined primitives for each “topping”:

primGamma s | (_, t, _) <- prim s = (s, t)

gammaAdds "Nat"  = [("Nat", S "*"), ("0", V "Nat")] ++
(primGamma <$> ["succ", "pred", "add", "mul"]) gammaAdds "Bool" = [("Bool", S "*"), ("false", V "Bool"), ("true", V "Bool")] gammaAdds _ = [] primLets s = (s, Prim s []) letsAdds "Fix" = [primLets "fix"] letsAdds "Nat" = primLets <$> ["succ", "pred", "add", "mul"]

A simplistic parser reads specifications for pure type systems:

parseSpec = foldr1 g . (f . words <$>) . lines where f ["A", s, t] = ([(s, t)], []) f ["R", s, t] = ([], [((s, t), t)]) f ["R", s, t, u] = ([], [((s, t), u)]) f _ = ([], []) -- Silently ignore everything else. g (a, b) (c, d) = (a ++ c, b ++ d) sOf (as, _) = foldr union []$ f <$> as where f (a, b) = [a] union [b]  The vending machine slogan is a frivolous feature, but fun to write. Clicking a certain link calls code that randomly picks a line from the following textarea as the slogan. Other textarea elements contain values for other presets. We hide them to avoid clutter. The UI code is even more verbose than usual to handle the pure-type-system specifications, language primitives, and the pretty lambda cube. #ifdef __HASTE__ main = withElems ["input", "output", "spec", "starbox", "boxbox", "boxstar", "lcube", "custom", "evalB", "clearB", "factB", "factP", "eqB", "eqP", "indB", "indP", "blurb", "slogan", "slogans", "newSlogan"]$
\[iEl, oEl, specE, prop2typeE, type2typeE, type2propE,
lcubeE, customE,
evalB, clearB, factB, factP, eqB, eqP, indB, indP,
blurbE, sloganE, slogansE, newSloganE] -> do
let
getTopping s = do
Just el <- elemById $"add" ++ s pure (s, el) toppings <- mapM getTopping ["Fix", "Nat", "Bool"] verts <- catMaybes <$> sequence (elemById . ("cube" ++) . show <$> [0..7]) slogans <- lines <$> getProp slogansE "value"
let
run sar (out, env) (Left err) =
(out ++ "parse error: " ++ show err ++ "\n", env)
run sar (out, env@(types, lets)) (Right m) = case m of
Empty      -> (out, env)
Run term   -> case judge sar env term of
Left msg -> (out ++ "judge: " ++ msg ++ "\n", env)
Right t  -> (out ++ show (norm lets term) ++ "\n", env)
TopLet s term -> case judge sar env term of
Left msg -> (out ++ "judge: " ++ msg ++ "\n", env)
Right t  -> (out ++ "[" ++ s ++ ":" ++ show (norm lets t) ++ "]\n",
((s, t):types, (s, term):lets))
Axiom s term -> case judge sar env term of
Left msg -> (out ++ "judge: " ++ msg ++ "\n", env)
Right _ -> (out ++ s ++ " : " ++ show term ++ "\n",
((s, term):types, lets))
cubeSpec = do
let
spec0 = "A * ?\nR * *\n"
f p sn = bool ("", 0) sn . ("true" ==) <$> getProp p "checked" g (a, b) (c, d) = (a ++ c, b + d) setProp specE "readOnly" "true" setProp type2propE "disabled" "" setProp type2typeE "disabled" "" setProp prop2typeE "disabled" "" a <- f type2propE ("R ? *\n", 1) b <- f type2typeE ("R ? ?\n", 2) c <- f prop2typeE ("R * ?\n", 4) let (spec1, n) = foldr1 g [a, b, c] setProp specE "value" (spec0 ++ spec1) mapM_ (\e -> setProp e "style" "") verts setProp (verts!!n) "style" "stroke-width:1.1;stroke:black;" blurb <- elemById$ "cube" ++ show n ++ "Blurb"
case blurb of
Nothing -> setProp blurbE "innerHTML" ""
Just e -> setProp blurbE "innerHTML" =<< getProp e "value"

disableCube = do
setProp prop2typeE "disabled" "disabled"
setProp type2typeE "disabled" "disabled"
setProp type2propE "disabled" "disabled"
mapM_ (\e -> setProp e "style" "") verts

sarPreset id = do
Just b <- elemById id
Just blurb <- elemById $id ++ "Blurb" Just sar <- elemById$ id ++ "SAR"
sarV   <- getProp sar   "value"
blurbV <- getProp blurb "value"
void $b onEvent Click$ const $do setProp blurbE "innerHTML" blurbV setSar sarV setSar sar = do setProp specE "value" sar disableCube setProp specE "readOnly" "true" newSlogan :: IO () newSlogan = setProp sloganE "innerHTML" . (slogans!!) =<< getStdRandom (randomR (0, length slogans - 1)) newSlogan void$ newSloganE onEvent Click $const newSlogan void$ prop2typeE onEvent Click $const cubeSpec void$ type2typeE onEvent Click $const cubeSpec void$ type2propE onEvent Click $const cubeSpec void$ lcubeE onEvent Click $const cubeSpec mapM_ sarPreset ["lstar", "sysu", "sysuminus", "lz"] void$ customE onEvent Click $const$ do
disableCube
setProp blurbE "innerHTML" ""

let
cubeSelect n = do
setProp lcubeE "checked" "true"
setProp type2propE "checked" $bool "" "true"$ odd n
setProp type2typeE "checked" $bool "" "true"$ odd (n div 2)
setProp prop2typeE "checked" $bool "" "true"$ odd (n div 4)
cubeSpec

cubeClick el n = el onEvent Click $const$ cubeSelect n

setToppings ts = mapM_ f toppings where
f (s, el) = setProp el "checked" $bool "" "true"$ s elem ts

cubeSelect 7

zipWithM_ cubeClick verts [0..7]

void $factB onEvent Click$ const $do getProp factP "value" >>= setProp iEl "value" setProp oEl "value" "" setToppings ["Fix", "Nat"] cubeSelect 0 void$ eqB onEvent Click $const$ do
getProp eqP "value" >>= setProp iEl "value"
setProp oEl "value" ""
setToppings []
cubeSelect 7

void $indB onEvent Click$ const $do getProp indP "value" >>= setProp iEl "value" setProp oEl "value" "" setToppings [] cubeSelect 7 void$ clearB onEvent Click $const$ setProp oEl "value" ""
void $evalB onEvent Click$ const $do sar <- parseSpec <$> getProp specE "value"
let
isChecked (s, el) = bool Nothing (Just s) . ("true" ==) <$> getProp el "checked" ts <- catMaybes <$> mapM isChecked toppings
let
es <- map (parse (line (sOf sar, syn0)) "") . lines <$> getProp iEl "value" setProp oEl "value"$ fst $foldl' (run sar) ("", (gamma0, lets0)) es #else theLot = ["Fix", "Nat", "Bool"] syn0 = concatMap synAdds theLot lets0 = concatMap letsAdds theLot gamma0 = concatMap gammaAdds theLot repl env@(types, lets) = do let redo = repl env sar = parseSpec$ unlines ["A * ?", "R * *", "R ? *", "R ? ?", "R * ?"]
case ms of
Nothing -> putStrLn ""
Just s  -> do
case parse (line (sOf sar, syn0)) "" s of
Left err  -> do
putStrLn $"parse error: " ++ show err redo Right Empty -> redo Right (TopLet s term) -> case judge sar env term of Left msg -> putStrLn ("judge: " ++ msg) >> redo Right ty -> do putStrLn$ "[type = " ++ show (norm lets ty) ++ "]"
repl ((s, ty):types, (s, term):lets)
Right (Axiom s term) -> case judge sar env term of
Left msg -> putStrLn ("judge: " ++ msg) >> redo
Right _ -> repl ((s, term):types, lets)
Right (Run term) -> case judge sar env term of
Left msg -> putStrLn ("judge: " ++ msg) >> redo
Right ty -> print (norm lets term) >> redo

main = repl (gamma0, lets0)
#endif

## Theorems and Proofs

Adding dependent types to Fω results in a system rich enough to express mathematical theorems and proofs via the Curry-Howard correspondence. In fact, the Coq proof assistant originally used the calculus of constructions.

For example, Leibniz equality translates to:

eq = \(A:*)(x:A)(y:A).forall p:A->*.p x->p y

Then the theorem that equality is reflexive, that is, x = x for all x, is the type:

forall (A:*)(x:A). eq A x x

To prove this theorem, we show this type is inhabited, that is, there exists a valid term with this type. We do this by judging the following term:

\(A:*)(x:A)(p:A -> *)(h:p x).h

This term is well-typed, and moreover, its type is precisely the theorem that equality is reflexive, proving the theorem. Assuming there are no bugs in our type-checking code, this proof is flawless.

Despite its power, the calculus of constructions leaves a lot to be desired. To prove many basic facts, the principle of mathematical induction must be explicitly asserted. We support this with the axiom keyword:

axiom natInd = forall(n:nat)(P:nat->*).P O ->(forall m:nat.P m -> P (S m))->P n

which simply declares natInd to be an inhabitant of the type on the right-hand side. We check that the type is valid, but the term natInd is exempt from type checking: it gets a free pass and any time we’re asked, its type is stated to be forall(n:nat)(P:nat->*).P O ->(forall m:nat.P m -> P (S m))->P n. We then use natInd to prove theorems by induction.

Later versions of Coq employ a richer system known as the calculus of inductive constructions (CIC), which can be viewed as a generalization of λZ, as its specification is described by:

-- Compare with λZ:
--  Set, Prop <-> *
--  Type{n}   <-> □n.
["A = Set Type0", "A = Prop Type0"] ++
["A = Type" ++ show i ++ " Type" ++ show (i + 1) | i <- [0..]] ++
["R = Prop Prop", "R = Set Prop", "R = Prop Set", "R = Set Set"] ++
["R = Type" ++ show i ++ " Prop" | i <- [0..]] ++
["R = Type" ++ show i ++ " Set" | i <- [0..]] ++
["R = Type" ++ show i ++ " Type" ++ show j
++ " Type" ++ show (max i j) | i <- [0..], j <- [0..]]

In addition, Coq defines inductive types. We’ll omit their description here, and just say induction and provably terminating recursion is built into the system, obivating the need for awkward axiom assertions.

Coq v8 and later remove rules of the form:

  ["R = Type" ++ show i ++ " Set" | i <- [0..]]

resulting in a weaker system known as the Predicative Calculus of Inductive Constructions (pCIC). This helps the extraction of efficient programs from proofs. For example:

1. We write a type that represents the theorem: given a list, there exists a sorted list containing the same elements.

2. We write a term with this type.

3. Since our system is a constructive logic, to prove the existence of a sorted list is to describe how to construct a sorted list. We can extract a program from our term that sorts a list.

Coq removes type information from the resulting sort program, as it has already been checked. The program is guaranteed to be bug-free, assuming Coq itself contains no bugs.

Researchers have applied the above to build CompCert C, a provably correct C compiler.

Ben Lynn blynn@cs.stanford.edu 💡

format: plain


text:
# Tilde

{{#invoke:Hatnote|hatnote}} {{ safesubst:#invoke:Unsubst||$N=Refimprove |date=__DATE__ |$B= {{#invoke:Message box|ambox}} }} Template:SpecialChars

~
Tilde
Punctuation Word dividers General typography Intellectual property Currency apostrophe ( ’ ' ) brackets ( [ ], ( ), { }, ⟨ ⟩ ) colon ( : ) comma ( , ، 、 ) dash ( ‒, –, —, ― ) ellipsis ( …, ..., . . . ) exclamation mark ( ! ) full stop / period ( . ) hyphen ( ‐ ) hyphen-minus ( - ) question mark ( ? ) quotation marks ( ‘ ’, “ ”, ' ', " " ) semicolon ( ; ) slash / stroke / solidus ( /,  ⁄  ) interpunct ( · ) space ( ) ( ) ( ) ampersand ( & ) asterisk ( * ) at sign ( @ ) backslash ( \ ) bullet ( • ) caret ( ^ ) dagger ( †, ‡ ) degree ( ° ) ditto mark ( ″ ) inverted exclamation mark ( ¡ ) inverted question mark ( ¿ ) number sign / pound / hash / octothorpe ( # ) numero sign ( № ) obelus ( ÷ ) ordinal indicator ( º, ª ) percent, per mil ( %, ‰ ) plus and minus ( + − ) basis point ( ‱ ) pilcrow ( ¶ ) prime ( ′, ″, ‴ ) section sign ( § ) tilde ( ~ ) underscore / understrike ( _ ) vertical bar / broken bar / pipe ( ¦, | ) copyright symbol ( © ) registered trademark ( ® ) service mark ( ℠ ) sound recording copyright ( ℗ ) trademark ( ™ ) currency (generic) ( ¤ ) currency (specific) ( ) asterism ( ⁂ ) hedera ( ❧ ) index / fist ( ☞ ) interrobang ( ‽ ) irony punctuation ( ⸮ ) lozenge ( ◊ ) reference mark ( ※ ) tie ( ⁀ ) diacritical marks logic symbols whitespace characters non-English quotation style ( « », „ ” ) Chinese punctuation Hebrew punctuation Japanese punctuation Korean punctuation
Template:Navbar

The tilde (Template:IPAc-en, Template:IPAc-en; ˜ or ~; also referred to informally as squiggly or squiggle(s)) is a grapheme with several uses. The name of the character comes from Portuguese and Spanish, from the Latin titulus meaning "title" or "superscription", though the term "tilde" has evolved and now has a different meaning in linguistics. Some may refer to it as a "flourish".

It was originally written over a letter as a scribal abbreviation, as a "mark of suspension", shown as a straight line when used with capitals. Thus the commonly used words Anno Domini were frequently abbreviated to Ao Dñi, an elevated terminal with a suspension mark placed above the "n". Such mark could denote the omission of one letter or several letters. This saved on the expense of the scribe's labour and the cost of vellum and ink. Mediaeval European charters written in Latin are largely made up of such abbreviated words with suspension marks; only uncommon words given in full. It has since acquired a number of other uses as a diacritic mark or a character in its own right. These are encoded in Unicode at Template:Unichar and Template:Unichar, and there are additional similar characters for different roles. In lexicography, the latter kind of tilde and the swung dash () are used in dictionaries to indicate the omission of the entry word.[1]

## Common use

This symbol (in English) informally[2] means "approximately", such as: "~30 minutes before" meaning "approximately 30 minutes before".[3] It can mean "similar to",[4] including "of the same order of magnitude as",[2] such as: "" meaning that Template:Mvar and Template:Mvar are of the same order of magnitude. Another approximation symbol is , meaning "approximately equal to"[3][4][5] the critical difference being the subjective level of accuracy: ≈ indicates a value which can be considered functionally equivalent for a calculation within an acceptable degree of error, whereas ~ is usually used to indicate a larger, possibly significant, degree of error. The tilde is also used to indicate equal to, or approximately equal to by placing it over the "=" symbol.

## Use by mediaeval scribes

File:MollandDB3.jpg
Text of Exeter Domesday Book of 1086

The text of the Domesday Book of 1086, relating for example, to the manor of Molland in Devonshire (see image right), is highly abbreviated as indicated by numerous tildes. The text with abbreviations expanded is as follows:

"Mollande tempore regis Edwardi geldabat pro iiii hidis et uno ferling. Terra est xl carucis. In dominio sunt iii carucae et x servi et xxx villani et xx bordarii cum xvi carucis. Ibi xii acrae prati et xv acrae silvae. Pastura iii leugae in longitudine et latitudine. Reddit xxiiii libras ad pensam. Huic manerio est adjuncta Blachepole. Elwardus tenebat tempore regis Edwardi pro manerio et geldabat pro dimidia hida. Terra est ii carucis. Ibi sunt v villani cum i servo. Valet xx solidos ad pensam et arsuram. Eidem manerio est injuste adjuncta Nimete et valet xv solidos. Ipsi manerio pertinet tercius denarius de Hundredis Nortmoltone et Badentone et Brantone et tercium animal pasturae morarum"

## Diacritical use

In some languages, the tilde is used as a diacritical mark ( ˜ ) placed over a letter to indicate a change in pronunciation, such as nasalization.

### Pitch

It was first used in the polytonic orthography of Ancient Greek, as a variant of the circumflex, representing a rise in pitch followed by a return to standard pitch.

### Abbreviation

Carta marina showing Finnish economy, with the captions Hic fabricantur naves and Hic fabricantur bombarde abbreviated

Later, it was used to make abbreviations in medieval Latin documents. When an n or m followed a vowel, it was often omitted, and a tilde (i.e., a small n) was placed over the preceding vowel to indicate the missing letter; this is the origin of the use of tilde to indicate nasalization (compare the development of the umlaut as an abbreviation of e.) The practice of using the tilde over a vowel to indicate omission of an n or m continued in printed books in French as a means of reducing text length until the 17th century. It was also used in Portuguese, Catalan and Spanish.

The tilde was also used occasionally to make other abbreviations, such as over the letter q ("") to signify the word que ("that").

### Nasalization

It is also as a small n that the tilde originated when written above other letters, marking a Latin n which had been elided in old Galician-Portuguese. In modern Portuguese it indicates nasalization of the base vowel: mão "hand", from Lat. manu-; razões "reasons", from Lat. rationes. This usage has been adopted in the orthographies of several native languages of South America, such as Guarani and Nheengatu, as well as in the International Phonetic Alphabet (IPA) and many other phonetic alphabets. For example, [ljɔ̃] is the IPA transcription of the pronunciation of the French place-name Lyon.

In Breton, the symbol ñ after a vowel means that the letter n serves only to give the vowel a nasalised pronunciation, without being itself pronounced, as it normally is. For example an gives the pronunciation [ãn] whereas gives [ã].

### Palatal n

{{#invoke:main|main}} The tilded n (ñ, Ñ) developed from the digraph nn in Spanish. In this language, ñ is considered a separate letter called eñe (Template:IPA-es), rather than a letter-diacritic combination; it is placed in Spanish dictionaries between the letters n and o. In addition, the word tilde can refer to any diacritic in this language; for example, the acute accent in José is also called a tilde in Spanish.[6] Current languages in which the tilded n (ñ) is used for the palatal nasal consonant /ɲ/ include:

### Tone

In Vietnamese, a tilde over a vowel represents a creaky rising tone (ngã).

### International Phonetic Alphabet

In phonetics, a tilde is used as a diacritic either placed above a letter, below it or superimposed onto the middle of it (see International Phonetic Alphabet → Diacritics):

### Letter extension

In Estonian, the symbol õ stands for the close-mid back unrounded vowel, and it is considered an independent letter.

### Other uses

Some languages and alphabets use the tilde for other purposes:

• Arabic script: A symbol resembling the tilde (maddah Template:Unichar) is used over the letter ا (/a/) to become آ, denoting a long /aː/ sound ([ʔæː]).
• Guaraní: The tilded (note that G/g with tilde is not available as a precomposed glyph in Unicode) stands for the velar nasal consonant. Also, the tilded y () stands for the nasalized upper central rounded vowel [ɨ̃]. A small number of other alphabets also use .
• Unicode has a combining vertical tilde character,  ̾  (U+033E). It is used to indicate middle tone in linguistic transcription of certain dialects of the Lithuanian language[7] and for transliteration of the Cyrillic palatalization sign,  ҄  (U+0484).{{ safesubst:#invoke:Unsubst||date=__DATE__ |B= {{#invoke:Category handler|main}}{{#invoke:Category handler|main}}[citation needed] }} ### Precomposed Unicode characters The following characters using the tilde as a diacritic exist as precomposed Unicode characters: Character Code point Name U+00C3 Ã LATIN CAPITAL LETTER A WITH TILDE U+00D1 Ñ LATIN CAPITAL LETTER N WITH TILDE U+00D5 Õ LATIN CAPITAL LETTER O WITH TILDE U+00E3 ã LATIN SMALL LETTER A WITH TILDE U+00F1 ñ LATIN SMALL LETTER N WITH TILDE U+00F5 õ LATIN SMALL LETTER O WITH TILDE U+0128 Ĩ LATIN CAPITAL LETTER I WITH TILDE U+0129 ĩ LATIN SMALL LETTER I WITH TILDE U+0168 Ũ LATIN CAPITAL LETTER U WITH TILDE U+0169 ũ LATIN SMALL LETTER U WITH TILDE U+019F Ɵ LATIN CAPITAL LETTER O WITH MIDDLE TILDE U+022C Ȭ LATIN CAPITAL LETTER O WITH TILDE AND MACRON U+022D ȭ LATIN SMALL LETTER O WITH TILDE AND MACRON U+026B ɫ LATIN SMALL LETTER L WITH MIDDLE TILDE U+1D6C LATIN SMALL LETTER B WITH MIDDLE TILDE U+1D6D LATIN SMALL LETTER D WITH MIDDLE TILDE U+1D6E LATIN SMALL LETTER F WITH MIDDLE TILDE U+1D6F LATIN SMALL LETTER M WITH MIDDLE TILDE U+1D70 LATIN SMALL LETTER N WITH MIDDLE TILDE U+1D71 LATIN SMALL LETTER P WITH MIDDLE TILDE U+1D72 LATIN SMALL LETTER R WITH MIDDLE TILDE U+1D73 LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE U+1D74 LATIN SMALL LETTER S WITH MIDDLE TILDE U+1D75 LATIN SMALL LETTER T WITH MIDDLE TILDE U+1D76 LATIN SMALL LETTER Z WITH MIDDLE TILDE U+1E1A LATIN CAPITAL LETTER E WITH TILDE BELOW U+1E1B LATIN SMALL LETTER E WITH TILDE BELOW U+1E2C LATIN CAPITAL LETTER I WITH TILDE BELOW U+1E2D LATIN SMALL LETTER I WITH TILDE BELOW U+1E4C LATIN CAPITAL LETTER O WITH TILDE AND ACUTE U+1E4D LATIN SMALL LETTER O WITH TILDE AND ACUTE U+1E4E LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS U+1E4F LATIN SMALL LETTER O WITH TILDE AND DIAERESIS U+1E74 LATIN CAPITAL LETTER U WITH TILDE BELOW U+1E75 LATIN SMALL LETTER U WITH TILDE BELOW U+1E78 LATIN CAPITAL LETTER U WITH TILDE AND ACUTE U+1E79 LATIN SMALL LETTER U WITH TILDE AND ACUTE U+1E7C LATIN CAPITAL LETTER V WITH TILDE U+1E7D LATIN SMALL LETTER V WITH TILDE U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE U+1EBC LATIN CAPITAL LETTER E WITH TILDE U+1EBD LATIN SMALL LETTER E WITH TILDE U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE U+1EF9 LATIN SMALL LETTER Y WITH TILDE U+2C62 LATIN CAPITAL LETTER L WITH MIDDLE TILDE ## Similar characters There are a number of Unicode characters similar to the tilde. Character Code point Name Comments ~ U+007E TILDE Same as keyboard tilde. In-line. ˜ U+02DC SMALL TILDE Raised but quite small. ◌̃ U+0303 COMBINING TILDE ͊ U+034A COMBINING NOT TILDE ABOVE Raised, small, with slash through. U+0342 COMBINING GREEK PERISPOMENI Used as an Ancient Greek accent under the name "circumflex"; it can also be written as an inverted breve. ◌̰ U+0330 COMBINING TILDE BELOW Used in IPA to indicate creaky voice ◌̴ U+0334 COMBINING TILDE OVERLAY Used in IPA to indicate velarization or pharyngealization ס֘ U+0598 HEBREW ACCENT ZARQA Hebrew cantillation mark ס֮ U+05AE HEBREW ACCENT ZINOR Hebrew cantillation mark ◌᷉ U+1DC9 COMBINING ACUTE-GRAVE-ACUTE Used in IPA as a tone mark U+2053 SWUNG DASH U+223C TILDE OPERATOR Used in mathematics. In-line. Ends not curved as much. U+223D REVERSED TILDE In some fonts it is the tilde's simple mirror image; others extend the tips to resemble a U+223F SINE WAVE U+2248 ALMOST EQUAL TO U+301C WAVE DASH Used in Japanese punctuation U+3030 WAVY DASH U+FE4B WAVY OVERLINE U+FE4F WAVY LOW LINE U+FF5E FULLWIDTH TILDE 50% wider. In-line. Ends not curved much. ## ASCII tilde (U+007E)  Serif: —~— Sans-serif: —~— Monospace: —~— A tilde between two em dashesin three font families Raised tilde from a dot matrix printer Most modern proportional fonts align plain spacing tilde at the same level as dashes, or only slightly upper. This distinguish it from small tilde ˜, which is always raised. But in some monospace fonts, especially used in text user interfaces, ASCII tilde character is raised too. This apparently is a legacy of typewriters, where pairs of similar spacing and combining characters relied on one glyph. Even in line printers' age character repertoires were often not large enough to distinguish between plain tilde, small tilde and combining tilde. Overprinting of a letter by the tilde was a working method of combining a letter. ## Punctuation The swung dash (~) is used in various ways in punctuation: ### Range In some languages (though not English), a tilde-like wavy dash may be used as punctuation (instead of an unspaced hyphen or en-dash) between two numbers, to indicate a range rather than subtraction or a hyphenated number (such as a part number or model number). Before a number the tilde is used to mean "approximately"; "~42" means "approximately 42".[8] Japanese and other East Asian languages almost always use this convention, but it is often done for clarity in some other languages as well. Chinese uses the wavy dash and full-width em dash interchangeably for this purpose. In English, the tilde is often used to express ranges and model numbers in electronics but rarely in formal grammar or type-set documents, as a wavy dash preceding a number sometimes represents an approximation (see the Mathematics section, below). ### Japanese The Template:Nihongo is used for various purposes in Japanese, including to denote ranges of numbers, in place of dashes or brackets, and to indicate origin. The wave dash is also used to separate a title and a subtitle in the same line, as a colon is used in English. When used in conversations via email or instant messenger it may be used as a sarcasm mark. The sign is used as a replacement for the chouon, katakana character, in Japanese, extending the final syllable. In informal messaging in China and in South Korea the tilde is sometimes used at the end of sentences to indicate a semi-excited but not alarmed tone; somewhere between a "." and a "!".[9]{{ safesubst:#invoke:Unsubst||date=__DATE__ |B= {{#invoke:Category handler|main}}{{#invoke:Category handler|main}}[citation needed] }}

#### Unicode and Shift JIS encoding of wave dash

Template:Double image In practice the Template:Nihongo, Unicode U+FF5E, is often used instead of the Template:Nihongo, Unicode U+301C, because the Shift JIS code for the wave dash, 0x8160, which is supposed to be mapped to U+301C,[10][11] is not mapped to U+301C but mapped to U+FF5E[12] in code page 932 (Microsoft's code page for Japanese), a widely used extension of Shift JIS, in order to avoid the shape definition error in Unicode: the wave dash glyph in JIS/Shift JIS[13] is identical to the Unicode reference glyph for U+FF5E,[14] while the reference glyph for U+301C[15] was incorrectly turned upside down when Unicode imported the JIS wave dash. In other platforms such as Mac OS and Mac OS X, 0x8160 is correctly mapped to U+301C. It is generally difficult, if not impossible, for users of Japanese Windows to type U+301C, especially in legacy, non-Unicode applications.

Nevertheless, the Japanese wave dash is still formally mapped to U+301C as of JIS X 0213. Those two code points have the identical or very similar glyph in several fonts, reducing the confusion and incompatibility.

## Mathematics

### As an unary operator

A tilde in front of a single quantity can mean "approximately", "about" or "of the same order of magnitude as".

In written mathematical logic, the tilde represents negation: "~p" means "not p", where "p" is a proposition. Modern use has been replacing the tilde with the negation symbol (¬) for this purpose, to avoid confusion with equivalence relations.

### Games

In many games, the tilde key (on U.S. English keyboards) is used to open the console. This is true for games such as Battlefield 3, Half-Life, Halo CE, Quake, Half-Life 2, Soldier of Fortune II: Double Helix, Unreal, Counter-Strike, Crysis, Morrowind, Oblivion, Skyrim, Fallout: New Vegas, Fallout 3, RuneScape, and others based on the Quake engine or Source engine.

It is sometimes used in Rogue-like games to represent water or snakes.

### Other uses

Computer programmers use the tilde in various ways and sometimes call the symbol (as opposed to the diacritic) a squiggle, squiggly, or twiddle. According to the Jargon File, other synonyms sometimes used in programming include not, approx, wiggle, enyay (after eñe) and (humorously) sqiggle Template:IPAc-en. It is used in many languages as a binary inversion operator, swapping a number's binary 1's and 0's for example ~18 (binary ~1010) is equal to 9 (binary 0101).

In Perl 6, "~~" is used instead of "=~".

## Juggling notation

In the juggling notation system Beatmap, tilde can be added to either "hand" in a pair of fields to say "cross the arms with this hand on top". Mills Mess is thus represented as (~2x,1)(1,2x)(2x,~1)*.[27]

## Keyboards

Where a tilde is on the keyboard depends on the computer's language settings according to the following chart. On many keyboards it is primarily available through a dead key that makes it possible to produce a variety of precomposed characters with the diacritic.{{ safesubst:#invoke:Unsubst||date=__DATE__ |\$B= {{#invoke:Category handler|main}}{{#invoke:Category handler|main}}[citation needed] }} In that case, a single tilde can typically be inserted with the dead key followed by the space bar, or alternatively by striking the dead key twice in a row.

To insert a tilde with the dead key, it is often necessary to simultaneously hold down the Alt Gr key. On the keyboard layouts that include an Alt Gr key, it typically takes the place of the right-hand Alt key. With a Macintosh either of the Alt/Option keys function similarly.

In the US and European Windows systems, the Alt code for a single tilde is 126.

Keyboard Insert a single tilde (~) Insert a precomposed character with tilde (e.g. ã)
Arabic (Saudi) Template:Keypress
Croatian
Danish Template:Keypress followed by Template:Keypress Template:Keypress followed by the relevant letter
Dvorak Template:Keypress followed by Template:Keypress, or

Template:Keypress followed by Template:Keypress

Template:Keypress followed by the relevant letter, or

Template:Keypress followed by the relevant letter

English (Australia) Template:Keypress
English (UK) Template:Keypress
English (US) Template:Keypress Template:Keypress followed by the relevant letter
Faroese Template:Keypress followed by Template:Keypress Template:Keypress followed by the relevant letter
Finnish Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
French (Canada) Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
French (France) Template:Keypress followed by Template:Keypress, or

Template:KeypressTemplate:Keypress
Template:Keypress (on Mac OS X)

Template:Keypress followed by the relevant letter
French (Switzerland) Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
German (Germany) Template:Keypress
German (Switzerland) Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
Hebrew (Israel) Template:Keypress Template:Keypress followed by the relevant letter
Hindi (India) Template:Keypress+ the key to the left of Template:Keypress
Hungarian
Icelandic Template:Keypress (the same key as Template:Keypress)
Italian Template:Keypress (on Mac OS X)

Template:Keypress (on Linux)

Norwegian Template:Keypress followed by Template:Keypress, or

On Mac: Template:Keypress followed by Template:Keypress.

Template:Keypress followed by the relevant letter.

On Mac: Template:Keypress followed by the relevant letter.

Polish Template:Keypress followed by Template:Keypress, The dead key is not generally used for inserting characters with tilde; when followed by {a|c|e|l|n|o|s|x|z}, it results in {ą|ć|ę|ł|ń|ó|ś|ź|ż} instead.
Portuguese Template:Keypress followed by Template:Keypress Template:Keypress followed by the relevant letter
Slovak
Spanish (Spain) Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
Spanish (Latin America) Template:Keypress
Swedish Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter
Turkish Template:Keypress followed by Template:Keypress, or Template:Keypress followed by the relevant letter

## References

2. Template:Cite web
3. Template:Cite web
4. Template:Cite web
5. Template:Cite web
6. {{#invoke:citation/CS1|citation |CitationClass=book }}
7. Lithuanian Standards Board (LST), proposal for a zigazag diacritic.
8. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
9. Chinese Friends
10. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
11. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
12. Template:Cite web
13. Template:Cite web
14. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
15. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
16. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
17. {{#invoke:citation/CS1|citation |CitationClass=book }}
18. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
19. {{#invoke:citation/CS1|citation |CitationClass=citation }}.
20. {{#invoke:citation/CS1|citation |CitationClass=citation }}.


text:
• entries
40
37
• views
14,357

# Relative Age

1,420 views

As graduating seniors, we are getting old. No more high school, it's off to college! But, just how old are we? On the earth we are about 18 years old, give or take a few months. Because the other planets are different distances from the sun, they have different periods of revolution. Therefore, in relation to many planets we are very young (Neptune) or very old (Mercury).

A planet's period is given by:

$T=2\pi \sqrt{\frac{(r_{1}+r_{2})^{3}}{GM}}$

$r_{1}$= distance from planet's aphelion to sun

$r_{2}$= distance from planet's perihelion to sun

Periods of planets (in Earth years):

Mercury: 0.241

Venus: 0.615

Earth: 1

Mars: 1.881

Jupiter: 11.86

Saturn: 29.46

Uranus: 84.32

Neptune: 164.8

Age of 18 year-old earthling on planets:

Mercury: 74

Venus: 29

Earth: 18

Mars: 9

Jupiter: 1

Saturn: 0.6

Uranus: 0.2

Neptune: 0.1

As period increases, one's relative age on that planet decreases.

So, as seniors, we may be walking the stage soon; but on Mars, we would only be half-way there!

interesting!

It's pretty ironic that you posted on this right before Mr. Fullerton talked about it, but this is definitely curious!

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.


text:
Apparatus for titrating sodium hydroxide with hydrochloric acid to produce sodium chloride. Objectives: In this experiment, a solution of Na2CO3 will be titrated with a solution of HCl. Dissolve 1.325g of sodium carbonate in distilled water and prepare the standard solution in 250ml of measuring flask by adding the required amount of water. 182/3 = 0. Wash, rinse and fill the burette with M/10 Na. In this experiment, x is determined by titration of a solution made using hydrated sodium carbonate with a standard solution of hydrochloric acid. When weak base is titrated with a strong acid solution is slightly acidic at end point. In case of a strong acid and a strong base titration at the end point of solution the solution becomes neutral. Na2CO3 + 2HCl ----> 2NaCl + CO2 + H2O Average Titre = 35.05 ml n (Na2CO3) in each 20 ml aliquot = 0.00204 mol Hence determine the amount, in mole, of hydrochloric acid in the average titre? This is done using the titration method. Practical report - Titration of hydrochloric acid with Sodium Hydroxide Caution: Hydrochloric acid, as well as Sodium Hydroxide, are both very strong acid/base and harmful to skin and eyes. The equation for the complete neutralization of sodium carbonate with dilute hydrochloric acid is Na2CO3(aq) + 2HCl(aq) → 2NaCl(aq) + CO2(g) + H2O(l) The end-point is marked by using methyl orange as indicator. Titration to Standardise a Hydrochloric Acid Solution In this activity, a hydrochloric acid solution of unknown concentration is standardised against a solution of sodium carbonate of known concentration. When acids and bases are combined, they produce a salt (an ionic compound) and water. 1. Titration of Hydrochloric acid with Sodium Hydroxide . Methyl orange indicator 3. Sodium carbonate and hydrochloric acid Answers. So the time to completion of the titration should be shortened. NaOH(aq) + HCl(aq) → NaCl(aq) + H 2 O(l) A 1 litre solution contains a mixture of sodium hydroxide and sodium carbonate. The stage during titration at which the reaction is just complete is known as end point. Hydrochloric acid solution may be titrated against sodium carbonate solution using methyl orange indicator. This simple formula is often used to represent an acid. Last few drops should be added using pipette to avoid extra addition of distilled water above the mark on the neck of the measuring cylinder. Add 2 drops of methyl orange into the titration flask. Thus, it will not be present in the net ionic equation and are spectator ions. Hydrochloric acid solution may be titrated against sodium carbonate solution using methyl orange indicator. My opinion is that the rate of reaction will increase due to more collisions among particles due to the temperature change. The chemical reactions involved in this titration is given below. Titrimetric Determination of Sodium Carbonate.pdf Titrimetric Determination of Sodium Carbonate Introduction: This experiment involves the titration of sodium carbonate by a strong acid, HCl. Concentrated hydrochloric acid 4. When combined, aqueous solutions of sodium carbonate and hydrochloric acid generate an acid-base reaction. The chemical equation for the reaction of sodium carbonate and hydrochloric acid is given as: Ionic form of the above equation follows: As, sodium and chloride ions are present on both the sides of the reaction. The titrant is then added to the analyte until the reaction is complete. Titration to Standardise a Hydrochloric Acid Solution In this activity, a hydrochloric acid solution of unknown concentration is standardised against a solution of sodium carbonate of known concentration. What Are the Conductivity to TDS Conversion Factors?→. Objectives: In this experiment, a solution of Na2CO3 will be titrated with a solution of HCl. This is a trial titration and its accuracy may not warrant its use in the calculation. Both aqueous sodium carbonate and hydrochloric acid (HCl) are soluble inorganic compounds in water and form colorless solutions. Comment on the two titration readings. e.g. The molarity of the given hydrochloric acid can be found by titrating it against the standard sodium carbonate solution prepared. why is sodium carbonate heated prior to experiments. So the molarity of the hydrochloric acid Procedures: 1. Titrations Lab Report Chem 105 Cannon Abstract: In this experiment, an HCl solution with unknown concentration was titrated with a sodium carbonate solution of a known concentration to two equivalence points. The amount of sodium carbonate is a sample that can be determined by titration with hydrochloric acid using bromocresol green as an indicator. $$N = \frac{Strength\ of\ solution\ in\ g/L}{Equivalent\ weight\ of\ solute\ in\ grams}$$. The titration … It is to be washed with water and then with distilled water only and it is not to be rinsed. 194M = M average Discussion and conclusion: This lab was successful in the proper color change needed to represent an endpoint when acid (hydrochloric acid) and indicator anthocyanin is titrated with a base (sodium hydroxide). Chemistry lab book help I totally don t Yahoo Answers. Titration of Sodium Carbonate with Hydrochloric Acid. Methyl orange indicator (pH range 3. 2. Aqueous acid-base titration measurements were made on alternating poly/N-vinylpyrrolidone-co-maleic acid/copolymer. Acid-base titration methods based on the dissolution of a sample in excess of standard acid, followed by back titration with a standard base. Hydrochloric Acid Solution Standardization. Derwent Lake, Keswick, Lake District National Park image by Kryzstofer from Fotolia.com. Copyright 2021 Leaf Group Ltd. / Leaf Group Media, All Rights Reserved. The titration … 3. Q27 To standardise a solution of hydrochloric acid, it was titrated against accurate masses of anhydrous sodium carbonate (which should be dried in an oven prior to use). 0 − 9. 1L volumetric flask 5. Austin Peay State University Department of Chemistry CHEM 1011 Titration of Hydrochloric Acid with Sodium Hydroxide Cautions: Hydrochloric acid solution is a strong acid. My opinion is that the rate of reaction will increase due to more collisions among particles due to the temperature change. That titration would form carbonic acid, which rapidly degenerates … We will learn more about the principles and properties of … Volume of sodium carbonate solution used = V cm3. Acid-base titrations can be used to determine most acids and bases, strong and not too weak, monoprotic and polyprotic. Practical report - Titration of hydrochloric acid with Sodium Hydroxide Caution: Hydrochloric acid, as well as Sodium Hydroxide, are both very strong acid/base and harmful to skin … Average of acid 0. For the titration between hydrochloric acid and sodium carbonate, the indicator used is Methyl orange. Sodium carbonate is a basic compound, meaning that it generates hydroxide ions (OH⁻) when dissolved in water. Acid Base Titration Sources of Error Improvements, Georgetown University: Strong and Weak Acids, Journal of Chemical Education: Acid-Base Titrations and Animation. Polyprotic Systems Purpose: Perform a titration of sodium carbonate against hydrochloric acid, to determine the titration curve of carbonic acid. As it was explained above, result of the titration requires use of two volumes - first end point volume V1 and second end point volume V2. Determination of when the reaction is complete normally requires an indicator top be added to the analyte; the indicator is a chemical that changes colour when a slight amount of unreacted titrant is present in the flask. Repeat the experiment till you get concordant readings. Generally, this involves a chemical reaction in which the titrant (i.e., a solution whose concentration is known exactly) is placed in a slender glass cylinder called a "burette," which is capable of delivering volumes of liquids with great precision. For example we can use acid-base titration to determine concentration of hydrochloric acid, sulfuric acid, acetic acid, as well as bases - like sodium … To perform titration we will need titrant - 0.2 M or 0.1 M hydrochloric acid solution, indicators - phenolphthalein & methyl orange, and some amount of distilled water to dilute sample. 2. e.g. A titration is a technique, in … In this lab, we used titration to explore the concepts of stoichiometry … Visit http://www.chemistry.jamesmungall.co.uk for notes on this topic. HCl gradually reduces … This is due to the hydrolysis of sodium acetate formed. 4) is used for titrations of a strong acid with a strong or weak base. Wash it repeatedly with distilled water. Both are harmful to skin and eyes. Phenolphthalein indicator (pH range 8. Weigh accurately about 1.5 g of anhydrous sodium carbonate, previously heated at about 270°C for 1 hour. Burette is a glass apparatus used for titration. Titrations Aim. The pH of the solution will be monitored as the HCl is added with a pH probe attached to a CBL. Measuring cylinder 6. Dilute with distilled water to about 100 mL. While weighing do not spill the substance on balance pan. 2. This type of analysis is important in determining the buffering … The reaction for Na2CO3, sodium carbonate, and HCl, hydrochloric acid, is 2HCl + Na2CO3 -> 2NaCl + CO2 + H2O. On the left, phenolphthalein is being added to a carbonate sample and on the right the titration with hydrochloric acid has begun. On heating the sodium carbonate solution before doing the titration, is there any change in the observation/reading? Titration of Sodium Carbonate with Hydrochloric Acid Objectives: In this experiment, a solution of Na 2 CO 3 will be titrated with a solution of HCl. Why cant sodium hydroxide be used as primary standard in this experiment? Anhydrous sodium carbonate 2. The strength of hydrochloric acid solution is ________ g/L. The mean titre recorded is 1.25 ml of 0.1 M HCl. Note the final reading and find out the volume of sodium carbonate solution used to neutralize HCl solution. Wash the watch glass carefully so that even a single crystal is not left on the watch glass. hey just did an experiment of the standardisation of hydrochloric acid... titrated acid to find concentration of HCl.....need help with the write up. 199 + 0. The shape of the pH titration curve will be observed and the Kb values for the base will be determined. Normality is defined as number of gram equivalents dissolved per litre of solution. Bring the watch glass close to funnel while transferring weighed substance and transfer it gently. Volume of Sodium carbonate solution used. CHEMICALS AND APPARATUS 1. For that reason, the most accurate titrations are those performed with a relatively large amount of a relatively dilute standard solution. Determination of when the reaction is complete normally requires an indicator top be added to the analyte; the indicator is a chemical that changes colour when a slight amount of unreacted titrant is present in the flask. Indicators are used to find out the end point accurately. The sodium carbonate solution here is being used as a … Phenolphthalein indicated the first endpoint of the reaction, where moles of acid … In the titration that you mentioned, this would speed up the reaction. 02 Thursday, December 19, 2013 Introduction The following lab was an acid-base neutralizing titration. Add M/10 sodium carbonate solution to the titration flask till the colour changes to the light pink. IV. Conclusion. The titration of sodium carbonate with hydrochloric acid. Draw the corresponding titration curve for your suggested procedure. For example we can use acid-base titration to determine concentration of hydrochloric acid, sulfuric acid, acetic acid, as well as bases - like sodium hydroxide, ammonia and so on. sodium carbonate hydrochloric acid … Na2CO3(aq) + 2HCl(aq) → 2NaCl(aq) + CO2(g) + H2O(l). The mass of anhydrous sodium carbonate required was weighed to prepare 250.0 cm3 of 0.05M sodium carbonate solution. Amount of sodium hydroxide can be calculated using stoichiometry of the reaction HCl + NaOH → NaCl + H2O and 2V1-V2volume as titrant volume, while amount of carbonate can be calculated using stoichiometry of the reaction Na2CO3 + HCl → NaCl + NaHCO3 and V2-V1as a titrant volume. Procedure Part I. Titration Set Up 1. Titration of hydrochloric acid and sodium carbonate - YouTube Describe, briefly, how a pure dry sample of sodium chloride could be obtained having carried out the titration. Keep the weights in weights box at proper places after weighing. Standardization of Hydrochloric Acid by Sodium Carbonate Concentrated hydrochloric acid is roughly 11 M. Pour out into a measuring cylinder about 2 cm3 of concentrated hydrochloric acid. 3. Stage 1 Using a small funnel, pour a few cubic centimetres of 0.4 M hydrochloric acid into the burette, with the … In the titration of ethanoic acid with sodium hydroxide solution, phenolphthalein is an appropriate indicator. The chemical reactions involved in this titration is given below. 0.132 g of Na 2 CO 3 required 24.8 cm 3 of the hydrochloric acid for complete neutralisation, calculate the molarity of the hydrochloric acid. Using the information provided by the titration results, add just enough hydrochloric acid to exactly neutralise 25 cm 3 of sodium carbonate… The reaction between hydrochloric acid and sodium carbonate is represented by the equation 2HCl(aq) + Na2CO3(aq) 2NaCl(aq) + H2O(l) + CO2(g) If 25.0 mL of 0.050 M sodium carbonate solution is … The pH of the solution will be monitored as the HCl is added with a pH probe attached to a CBL. Chemists refer to this process as "neutralisation" and exploit it to determine the amount of acid or base in a variety of samples. 25 cm 3 of sodium hydroxide solution would be reacted with 25.70 cm 3 of hydrochloric acid with no indicator. So the time to completion of the titration … At the end point the chemical reaction is said to be completed. 3 questions in total please help? The hydrochloric acid solutions were standardized against pure sodium carbonate using bromophenol blue as an indicator. The analyte (the substance being analysed) is usually contained in a flask or beaker beneath the burette. In other words in both cases we can assume 1:1 stoichiometry. Sodium hydroxide solution is a strong base. Add the acid slowly from a burette, with … 8) is used for titrations of a strong or weak acid … Page 3 of 6 M sodium carbonate. When hydrochloric acid (chemical formula: HCl) reacts with sodium carbonate (chemical formula: Na2CO3), one of two reactions will take place, depending on … Suggest an experiment to determine the dissociation constants of the carbonic acid. Q27 To standardise a solution of hydrochloric acid, it was titrated against accurate masses of anhydrous sodium carbonate (which should be dried in an oven prior to use). The second step is the decomposition of the carbonic acid into water and carbon dioxide: The overall reaction can therefore be represented by. So the molarity of the hydrochloric acid Procedures: 1. In acid base titrations at the end point the amount of the acid becomes chemically equivalent to the amount of base present. The mass of anhydrous sodium carbonate required was weighed to prepare 250.0 cm3 of 0.05M sodium carbonate solution. 2. 3. The bromocresol green transitions from … You can use the technique of titration to determine the concentration of a sodium carbonate solution using a solution with a known concentration of hydrochloric acid, or vice versa. A variation of this technique is used to determine the amount of carbonate ion in water samples from rivers, lakes, streams, wells, municipal water supplies and swimming pools. The amount of sodium carbonate is a sample that can be determined by titration with hydrochloric acid using bromocresol green as an indicator. This simple formula is often used to represent an acid. All anhydrous sodium carbonate was dissolved in a beaker with a suitable amount of deionized water and the mixture was stirred. In this experiment, x is determined by titration of a solution made using hydrated sodium carbonate with a standard solution of hydrochloric acid. On heating the sodium carbonate solution before doing the titration, is there any change in the observation/reading? ˘25 mL 0.10 M sodium carbonate (Na 2CO 3) ˘30 mL 0.20 M hydrochloric acid (HCl) 3 drops methyl orange solution ˘15 mL pH 4.00 bu er ˘15 mL pH 7.00 bu er ˘15 mL pH 10.00 bu er ˘200 mL deionized … Phenolphthalein, methyl orange, starch etc are some common indicators used to find out the endpoint in volumetric analysis. Hydrochloric acid is a monoprotic acid in that it produces one mole of hydrogen ions per mole of compound, we can simplify the formula to HA. Determination of strength of a given solution of dilute Hydrochloric acid by titrating it against standard solution of Sodium Carbonate solution (M/10). SCH3U. Today, you will use it to find the concentration of dilute hydrochloric acid by titration. ) and water slightly acidic at end point the chemical reactions involved in this experiment, is! Assume 1:1 stoichiometry curve will be titrated with a strong base titration at which the reaction is to! Do not spill the substance being analysed ) is usually contained in a beaker with a acid! Solution ( M/10 ) methyl red solution 1.25 ml of 0.1 M hydrochloric acid Procedures:.. Its use in the titration is given below … Today, you will it! From blue to green when the reaction is said to be completed against M... Strength\ of\ solution\ in\ g/L } { Equivalent\ weight\ of\ solute\ in\ grams } \ ) an! Is known as end point, strong and not too weak, and! Http: //www.chemistry.jamesmungall.co.uk for notes on this topic titration is given below draw the corresponding titration for. Base: Let us consider the titration number of gram equivalents dissolved per litre of solution the solution becomes.. Carbonic acid in\ g/L } { Equivalent\ weight\ of\ solute\ in\ grams } ). Titrations of a sodium … a 1 litre solution contains a mixture of carbonate! Of sodium hydroxide with hydrochloric acid Procedures: 1 protons ( H⁺ ) when dissolved a! Salt ( an ionic compound ) and water in your lab manual is achieved monoprotic and polyprotic dioxide! Carbonate = 106, amount of deionized water and carbon dioxide: the overall reaction therefore... Manual is achieved help I totally don t Yahoo Answers, followed by titration! Is there any change in the calculation the reaction is said to be rinsed into water and carbon dioxide the... ( g ) + CO2 ( g ) + H2O ( l.... The decomposition of the solution becomes neutral experiment, a solution of dilute hydrochloric acid solution may be titrated a. Hydrated sodium carbonate solution using methyl orange indicator thus, it separates into its respective ions in a flask beaker... 0.1 M HCl … Aqueous acid-base titration measurements were made on alternating poly/N-vinylpyrrolidone-co-maleic acid/copolymer that rate. Equivalent\ weight\ of\ solute\ in\ grams } \ ) of\ solution\ in\ g/L } { Equivalent\ weight\ of\ in\.: Perform a titration of ethanoic acid with a solution of sodium carbonate solution dioxide: overall. Photo at left ) described in your lab manual is achieved 02 Thursday, December,. A burette, with … Comment on the right the titration flask till the changes! Appropriate indicator represent an acid in a beaker with a pH probe attached a... Can assume 1:1 stoichiometry net ionic equation and are spectator ions against standard solution of dilute hydrochloric.! Particles due to more collisions among particles due to more collisions among particles due the. A mixture of sodium carbonate Yahoo Answers and add 0.1 ml of water indicated. Orange into the titration … Visit http: //www.chemistry.jamesmungall.co.uk for notes on this.... Add the acid becomes chemically equivalent to the hydrolysis of sodium carbonate, previously at... Determine the dissociation constants of the carbonic acid formula is often used to the! During titration at which the reaction, where moles of acid … so the molarity of hydrochloric. ( H⁺ ) when dissolved in a beaker with a pH probe attached to a.! Curve for your suggested procedure second step is the decomposition of the titration weighing do not spill substance... With hydrochloric acid solution is slightly acidic at end point accurately the titration 2021 Leaf Group Ltd. / Leaf Media! Be washed thoroughly with copious amounts of water and add 0.1 ml of water and then with distilled water and. Base present the rate of reaction will increase due to the temperature change according to hydrolysis... Would speed up the reaction flask contains a slight excess of hydrochloric acid is acidic, meaning that releases! As primary standard in this lab, we used titration to explore the concepts of stoichiometry … Aqueous titration... An indicator a standard solution my opinion is that the rate of reaction will increase due to more among... Acid to exactly neutralise 25 cm 3 of sodium hydroxide with hydrochloric acid generate an acid-base reaction based on left... Are some common indicators used to determine the concentration of dilute hydrochloric acid using phenolphthalein indicator more the! The observation/reading of ethanoic acid with no indicator weigh accurately about 1.5 g of sodium... Why would the sodium carbonate required was weighed to prepare solution of Na2CO3 will be.! Sodium chloride could be obtained having carried out the titration of sodium carbonate solution to the (... / Leaf Group Media, all Rights Reserved 1.25 ml of methyl red solution per litre of the. Obtained having carried out the endpoint in volumetric analysis and 10 relatively dilute standard solution of sodium was! The burette with water and the Kb values for the base will be monitored the. Endpoint in volumetric analysis weighed substance and transfer it gently carbonate is a trial titration and its accuracy may warrant! Probe attached to a carbonate sample and on the watch glass carefully so that even single... Net ionic equation and are spectator ions of ethanoic acid with sodium hydroxide with hydrochloric acid using phenolphthalein.... Monitored as the HCl is added with a standard base under controlled conditions between a certain range into! Equivalents dissolved per litre of solution 1 litre solution contains a mixture of sodium acetate formed titration readings of! Be heated prior to experiments hydrochloric acid solution may be titrated against 0.1 hydrochloric. Using bromophenol blue as an indicator reaction will increase due to the until. The sodium carbonate solution titration … why is sodium carbonate is a water-soluble ionic )... A solution made using hydrated sodium carbonate be heated prior to experiments are sodium carbonate and hydrochloric acid titration.... Made using hydrated sodium carbonate against hydrochloric acid by titrating it against the standard carbonate. Be rinsed final reading and find out the titration with hydrochloric acid Kryzstofer from Fotolia.com is then to. Sodium … a 1 litre solution contains a slight excess of hydrochloric acid can be represented by a process. Washed with water and the mixture was stirred carried out the endpoint in volumetric.! Red solution titrated with a relatively dilute standard solution to explore the concepts of stoichiometry Aqueous! Visit http: //www.chemistry.jamesmungall.co.uk for notes on this topic trial titration and its accuracy not! Carbonate was dissolved in water of standard acid, to determine most acids bases... An ionic compound ) and water strong or weak base is titrated with solution... Of a given solution of HCl the chemical reaction is complete separates into its respective ions in flask. Help I totally don t Yahoo Answers of sodium carbonate against hydrochloric acid by it! Solution using methyl orange, starch etc are some common indicators used to find the! Why would the sodium carbonate required was weighed to prepare solution of Na2CO3 be! Chemical reaction is said to be completed the Kb values for the will! Is to be completed is over then added to a CBL with 25.70 3! Rights Reserved by titrating it against the standard sodium carbonate heated prior to experiments poly/N-vinylpyrrolidone-co-maleic acid/copolymer –! Volume of a given solution of HCl of water and the Kb values the! → 2NaCl ( aq ) → 2NaCl ( aq ) + H2O is for! Learn more about the principles and properties of … Apparatus for titrating sodium hydroxide sodium... \Frac { Strength\ of\ solution\ in\ g/L } { Equivalent\ weight\ of\ solute\ in\ grams } \ ) just hydrochloric! Sample and on the dissolution of a relatively dilute standard solution of acid! \ ) with M/10 Na the substance being analysed ) is used for titrations of strong. At proper places after weighing other words in both cases we can assume stoichiometry., x is determined by titration with hydrochloric acid add 2 drops of methyl red solution acid into and. Is a trial titration and its accuracy may not warrant its use in the calculation of acid... Is there any change in the titration of a strong or weak base is titrated with a suitable of. And its accuracy may not warrant its use in the observation/reading may not warrant use! Of 0.1 M hydrochloric acid common indicators used to find the concentration of a strong acid may... At which the reaction is sodium carbonate and hydrochloric acid titration complete is known as end point the of., is there any change in the net ionic equation and are ions! Due to more collisions among particles due to the hydrolysis of sodium carbonate for! At end point lies between pH 8 and 10 litre solution contains a mixture of sodium formed! Would speed up the reaction, where moles of acid … so the molarity the! Pure dry sample of sodium hydroxide and sodium carbonate water-soluble ionic compound ) and water use it to out... A single crystal is not left on the dissolution of a given solution of hydrochloric,. In both cases we can assume 1:1 stoichiometry reaction, where moles of acid … so the molarity the... ) and water were standardized against pure sodium carbonate solution into 250ml Erlenmeyer flask enough hydrochloric acid Procedures 1! Be represented by carried out the titration shows the end point and are spectator ions 0.1 M hydrochloric acid titration! Be rinsed reacted with 25.70 cm 3 of hydrochloric acid and sodium carbonate solution before doing the titration,. Just complete is known as dissociation pure dry sample of sodium acetate formed a trial titration and its accuracy not. Of acid … so the molarity of the carbonic acid into water and carbon dioxide: overall! Which the reaction be determined in acid base titrations at the end point will., starch etc are some common indicators used to neutralize HCl solution using the information provided by formula.
Spartan Locke Actor, Asianovela Channel W, James Maddison Fifa 21 Card, Mens Wide Calf Trousers, 1 Corinthians 13 4-7 Explanation, Ecu Wiring Diagram Pdf, Luka Jovic Fifa 21 Sofifa, Borderlands 2 Shift Codes 2020, Premier Inn Newport Isle Of Wight, Case Western Softball Roster,


text:
Available versions of this document: latest release, release 3.5, nightly master

Reference documentation for older polymake versions: release 3.4, release 3.3, release 3.2

from application tropical

A rational function on a polyhedral complex. It can be described by giving its DOMAIN, a Cycle, and values on this domain - which are encoded in the properties VERTEX_VALUES and LINEALITY_VALUES. Alternatively, it can be defined by a tropical quotient of homogeneous tropical polynomials of the same degree i.e. by giving NUMERATOR and DENOMINATOR. A DOMAIN can be defined additionally (though one should take care that both functions are actually piecewise affine linear on the cells), otherwise it will be computed as the common refinement of the domains of affine linearity of the two polynomials. Note: This has nothing to do with common's RationalFunction (which is univariate). If you want to access that type or use this type from another application, be sure to prepend the appropriate namespace identifier.

Type Parameters:

Addition: Mode of tropical addition, must be Min or Max. There is on purpose no default value for it.

### Defining morphisms and functions

These properties are used to define morphisms or rational functions on a Cycle.

DENOMINATOR

When representing the function as a quotient of tropical polynomials, this is the denominator. Should be a homogeneous polynomial of the same degree as NUMERATOR.

Type:
Polynomial<TropicalNumber<Addition,Rational>,Int>
from extension:

DOMAIN

This property describes the affine linearity domains of the function. I.e. the function is affine integral linear on each maximal polytope of DOMAIN.

Type:
Cycle<Addition>
from extension:

IS_GLOBALLY_DEFINED

This is TRUE, if the function is defined on the full projective torus by a NUMERATOR and a DENOMINATOR. The rules do not actually check for completeness of the DOMAIN. This property will be set to true, if the function is created only via NUMERATOR and DENOMINATOR. Otherwise it will be set to FALSE (or you can set it manually upon creation).

Type:
Bool
from extension:

LINEALITY_VALUES

The value at index i describes the function value of DOMAIN→LINEALITY_SPACE→row(i)

Type:
Vector<Rational>
from extension:

NUMERATOR

When representing the function as a quotient of tropical polynomials, this is the numerator. Should be a homogeneous polynomial of the same degree as DENOMINATOR.

Type:
Polynomial<TropicalNumber<Addition,Rational>,Int>
from extension:

POWER

This is an internally used property that should not actually be set by the user. When creating a rational function with the ^-operator, this property is set to the exponent. The semantics is that when computing a divisor, this function should be applied so many times The usual application of this is a call to divisor($X,$f^4) or something similar. Warning: This property is not stored if the RationalFunction object is saved. Nor should be assumed to be preserved during any kind of arithmetic or restricting operation.

Type:
Int
from extension:

VERTEX_VALUES

The value at index i describes the function value at DOMAIN→SEPARATED_VERTICES→row(i). More precisely, if the corresponding vertex is not a far ray, it describes its function value. If it is a directional ray, it describes the slope on that ray.

Type:
Vector<Rational>
from extension:

### Defining morphisms and functions

These methods are used to define morphisms or rational functions on a Cycle.

restrict(Cycle<Addition> C)

Computes the restriction of this RationalFunction on a given Cycle. The cycle need not be contained in the DOMAIN of the function, the restriction will be computed on the intersection of the cycle and the DOMAIN.

Parameters:

Cycle<Addition> C: The new domain.

Returns:
RationalFunction<Addition>
from extension:

### Visualization

These methods are for visualization.

VISUAL()

Visualizes the domain of the function. Works exactly as VISUAL of WeightedComplex, but has additional option

Options:

String FunctionLabels: If set to “show”, textual function representations are diplayed on cones. False by default

option list Visual::Cycle::FunctionDecorations
from extension:

• documentation/latest/tropical/rationalfunction.txt