匿名質問者

-1×-1 = 1を証明してください。





1+1=2
http://d.hatena.ne.jp/tomo31415926563/20090110/1272413984




(1) 0 

(2)a (successor)suc(a) suc(a)  a +

1 ""

(3)0 0 

(4) a  b  suc(a)  suc(b) 

(5) 0 a suc(a) 



aa + 0 = a

 a, b a + suc(b) = suc(a + b)



suc(0) := 1

suc(suc(0)):=2

a=suc(0) ,b=0

suc(0)+suc(0)=suc(suc(0)+0)

   =suc(suc(0)) ()

1+1=2
 
回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/09/24 02:45:04

ベストアンサー

匿名回答4号 No.5


>λ使使1× -1×-1=1

Scheme(Gauche)



>4(x =(x+k,k):k)

(k,l) = (m,n)  k + n = l + m


(p587)



a * 0 = 0
a * succ(b) = a + (a * b)
;; 0を空リスト定義
(define zero '())

;; 0の判定関数
(define (zero?x)
  (null?x))

;; 後者写像succ
(define (succ x)
  (cons x x))

;; 後者写像の逆写像desucc
;; desucc(succ(x)) = x
(define (desucc x)
  (carx))

;; 足し算plus
(define (plus a b)
  (let loop ((result a) (b b))
    (cond ((zero?b) result)
          (else
           (loop (succ result) (desucc b))))))

;; 掛け算mult
(define (mult a b)
  (let loop ((result zero) (b b))
    (cond
     ((zero?b) result)
     (else
      (loop (plus a result) (desucc b))))))

;; 自然数→整数
(define (N-to-Z a)
  (cons a zero))

;; 整数の同値
(define (Z= a b)
  (equal?
   (plus (cara) (cdrb))
   (plus (cdra) (carb))))

;; 整数の掛け算
(define (Z-mult a b)
  (cons
   (plus (mult (cara) (carb))
  (mult (cdra) (cdrb)))
   (plus (mult (cara) (cdrb))
  (mult (cdra) (carb)))))

N-to-Z-1
N-to-Z
-1


(cons zero (succ zero))



Z-mult
(Z=
  (N-to-Z (succ zero)
  (Z-mult
    (cons zero (succ zero))
    (cons zero (succ zero))))

#t

その他の回答5件)

匿名回答1号 No.1

匿名回答2号

これだと整数の定義や、それが加算や乗算に対して群となることは前提としてるので、質問者さんの要望には足りてないんじゃないでしょうか。

2014/09/17 20:09:44
匿名質問者

そうですね。もう少し詳しい証明をお願いいたします。

2014/09/18 08:14:56
匿名回答3号 No.2


(-1)*(-1)=1Z2

ZZ
(1)a in Z, b in Z => a + b in Z
 {1} a,b in Za + b = b + a
 {2} a,b,c in Z(a + b) + c = a + (b + c) 
{3}0 in Zaa + 0 = 0 + a = a
 {4}a in Z-aa + (-a) = (-a) + a = 0
(2)a in Z, b in Z => a*b in Z
 {1} a,b in Z(a*b)*c=a*(b*c)
(3) a,b,c in Za*(b + c) = a*b + a*c , (a + b)*c = a*c + b*c
Z()
(4)Z1a in Z a*1 = 1*a = a

 a,b,c in Z a=b,b=c => a=c
a,b,c in Z, a=b => a+c=b+c, c+a=b+a, a*c=b*c, c*a=c*b

(-1)*(-1)=1

[1]a*0=0
 (1){3}0+0=0aa*(0+0)=a*0
 (3) a*0 + a*0 = a*0
 a*0 (a*0 + a*0) + (-(a*0)) = a*0 + (-(a*0))
 (1){2}a*0 + (a*0 + (-(a*0))) = a*0 + (-(a*0))
 (1){4}a*0+0=0
 (1){3}a*0=0
[2]-(-a)=a
 (1){4}a+(-a)=(-a)+a=0-aa-(-a)=a
[3]a*(-1)=-a
1-1(1){4}1 + (-1)=0
 aa*(1+(-1))=a*0
 (3)[1]a*1+a*(-1)=0
 (4)a+a*(-1)=0
 (1){3}aa*(-1)a*(-1)=-a
[4](-1)*(-1)=1
 [3](-1)*(-1)=-(-1)
 [2]-(-1)=1
 (-1)*(-1)=1

(2){1}Z
匿名回答4号 No.3


使

z(k+z,k)
0(k,k)
 -z(k,k+z)
k



(k,l) + (m,n) = (k+m,l+n)



(k,l) * (m,n) = (k*m + l*n,k*n + l*m)


(p587)

-1(k,k+1)

 -1 * -1 = (k,k+1) * (k,k+1)
=(k^2 + (k+1)^2,2k*(k+1))
=(2k^2 + 2k + 1,2k^2 + 2k)
=1
匿名回答5号 No.4




""

3-1×-1=11使

1+1=2


-1×-1=14



-1×-1=1
他4件のコメントを見る
匿名質問者

整数に拡張した場合、このような証明になるのでしょう。
「整数の公理」
http://aozoragakuen.sakura.ne.jp/kaisekikiso/node10.html

こんな感じの回答を希望してます。(というかこれが回答そのものかな)

2014/09/20 16:49:36
匿名回答5号

4-1×-1=1(-x)*(-y)=xy




2014/09/20 20:17:11
匿名質問者

質問者から

匿名質問者2014/09/21 10:14:33



https://twitter.com/HaraKazuo/status/513355620011888641


 -1×-1=1((-x)×(-y)=xy))







 

 





 -1×-1=1-1)×()













http://b.hatena.ne.jp/entry/226736493/comment/homarara







λ使

λ使

4使

4(x =(x+k,k):k)

λ使使1× -1×-1=1
匿名回答4号 No.5

ここでベストアンサー


>λ使使1× -1×-1=1

Scheme(Gauche)



>4(x =(x+k,k):k)

(k,l) = (m,n)  k + n = l + m


(p587)



a * 0 = 0
a * succ(b) = a + (a * b)
;; 0を空リスト定義
(define zero '())

;; 0の判定関数
(define (zero?x)
  (null?x))

;; 後者写像succ
(define (succ x)
  (cons x x))

;; 後者写像の逆写像desucc
;; desucc(succ(x)) = x
(define (desucc x)
  (carx))

;; 足し算plus
(define (plus a b)
  (let loop ((result a) (b b))
    (cond ((zero?b) result)
          (else
           (loop (succ result) (desucc b))))))

;; 掛け算mult
(define (mult a b)
  (let loop ((result zero) (b b))
    (cond
     ((zero?b) result)
     (else
      (loop (plus a result) (desucc b))))))

;; 自然数→整数
(define (N-to-Z a)
  (cons a zero))

;; 整数の同値
(define (Z= a b)
  (equal?
   (plus (cara) (cdrb))
   (plus (cdra) (carb))))

;; 整数の掛け算
(define (Z-mult a b)
  (cons
   (plus (mult (cara) (carb))
  (mult (cdra) (cdrb)))
   (plus (mult (cara) (cdrb))
  (mult (cdra) (carb)))))

N-to-Z-1
N-to-Z
-1


(cons zero (succ zero))



Z-mult
(Z=
  (N-to-Z (succ zero)
  (Z-mult
    (cons zero (succ zero))
    (cons zero (succ zero))))

#t
匿名回答6号 No.6

(-1)×(-1)=a とすると、
{x -(x+1)}{x -(x+1)}=a
x^2-2x(x+1)+(-1)×(-1)×(x+1)^2=a
x^2 - 2x^2- 2x +a(x^2+2x+1)=a
x(x+2)(a-1)=0

これが任意のxで成り立つならばa=1
故に(-1)×(-1)=1

匿名質問者

失礼。これはネタ回答だと思ってました。

2014/09/23 12:27:12
  • 匿名回答8号
    匿名回答8号 2014/10/08 16:03:13
    かなり厳密な説明がこのサイトの後半に載ってます。

    マイナス1かけるマイナス1が、なぜ1なんだ問題
    http://nakaken88.com/2014/10/08/080800
  • 匿名回答5号
    匿名回答5号 2014/11/05 04:28:48
    ベストアンサーのプログラムは全く正しいと思いますが、そこでの自然数などは
    (質問者さんが想定していたと思われる)ラムダ式によるチャーチ・エンコーディング
    http://en.wikipedia.org/wiki/Church_encoding
    とは異なるという点には注意したほうがいいかもしれません。
    自然数だけでなく真偽値や組もチャーチ・エンコーディングで定義できるので、
    データ型を一切使わずにラムダ式(関数)のみで同じことができるはずです。
    (証明の本質的な部分は変わらないですけどね)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません